How to Smooth Edges and Lines in GIMP

GIMP stands for GNU Image Manipulation Program, and simple adjustments like this are a great example of the kind of difficult-to-describe image editing task that GIMP is usually great at. 

However, there are some basic fundamentals of how digital images work that should make you stop and think about whether what you want to achieve is really possible. 

It must be said that you won’t be able to produce perfect results with all of these techniques, but you might be able to create a result that you’re happy with, depending on the specific image that you’re working on. Blurring rough edges can’t add new detail, although it can still be useful in some situations. 

The Best Option: Antialiased Lines And Edges

The best method for getting smooth edges and lines in GIMP is to make sure that they start out that way from the beginning. 

When working with brushes, selections, and in several other places throughout GIMP, you’ll often see a checkbox marked “Antialiasing”, which will ensure that any actions you take already create smooth edges and lines. 

Antialiasing is a very complex technical process, but for our purposes, it’s enough to know that it’s a technique used to create the appearance of smooth edges while drawing angles using a display made entirely out of square pixels. 

For a perfect demonstration, look at the difference between the Pencil tool and the Paintbrush tool. 

They’re more or less the same when it comes to the settings available in the Tools Options panel, except the Pencil tool draws with sharp jagged edges no matter what brush hardness setting you use because it specifically doesn’t allow antialiasing (presumably in a misguided attempt to look more like a pencil). 

Zoomed in to 300%, the jagged edges are clearly visible on the Pencil stroke (left)

Look at the image above, with the Pencil stroke on the left and the Paintbrush stroke on the right.

The smooth edges of the Paintbrush stroke are the result of antialiasing applied to the stroke edges, where some pixels are partially colored in a way that suggests a soft edge to our eyes. 

Zooming in even further makes the effect even more noticeable.

At 800%, it’s very easy to see the difference (Pencil on left, Paintbrush on right)

Whenever possible, ensure that antialiasing is enabled. For most brush-based tools, it’s not even an option to disable it, but all the selection tools allow you to toggle the setting on or off. Unless you know for sure that you need to disable it (such as when working on pixel art, perhaps), it’s best to simply leave it enabled. 

Smoothing Edges With Filters

This is the fastest option, and it works best on simple graphics that have rough edges from having a crude selection applied to them, although it’s not a miracle solution. 

With your image open in GIMP, open the Filters menu, select the Blur submenu, and choose Gaussian Blur

The Gaussian Blur dialog box in GIMP 2.10

Depending on the resolution of your image, you’ll probably want to start with a Size X/Y setting at the low end of things. You can check the effect of your blur by looking in the main image window, as long as you’ve got the Preview button checked. 

Even with a blur filter, it’s not as clear as the stroke that was created using the proper tool

As you can see, the lines of the pencil circle are now much smoother, but they still don’t look as good as the Paintbrush drawing when zoomed out. 

Smoothing With the Blur Tool

If you’re unhappy with the results from the first method, you might be able to get better results by smoothing your edges and lines by hand using the Blur tool. Switch to it using the toolbox or the keyboard shortcut Shift + U

It’s difficult to get consistent results with the Blur tool, as you can see

This is really a last-ditch solution because as you can see in the example above, it’s very difficult to apply a consistent amount of blur across an entire shape, even a simple one like a circle.

Your best bet is to use a relatively low Rate setting in the Tool Options panel and gradually build up a consistent blur using your intuitive sense of what looks right.

However, as I said at the beginning, your best bet is to make sure that you get properly antialiased image content from the start. If that doesn’t work, you might be able to get away with using a Blur tool, but there are some things that even GIMP can’t fix easily!

Good luck!

About Thomas Boldt
I’ve been working with digital images since the year 2000 or so, when I got my first digital camera. I've tried many image editing programs. GIMP is a free and powerful software, but not exactly user-friendly until you get comfortable with it, and I wanted to make the learning process easier for you here.

Leave a Reply

Your email address will not be published. Required fields are marked *

  • Bruce Bates

    I have yet to find a tutorial that does it the way I do, which I think is a bit more involved, but also a bit more accurate – especially on very large scale images.

    First, I go around the edges with the smudge tool manually and very carefully smudge out the jagged edges.

    Then I use the Gaussian Blur tool as recommended in this post to make the entire image a SLIGHT blur,

    Finally I go back and use the sharpen tool to remove the blur leaving the edges considerably more smooth without much loss on quality.

    Reply
    • Thomas Boldt

      Interesting approach, Bruce! Do you find that it’s difficult to match the smudging and sharpening evenly along the entire edge of your edit? I’ve tried doing similar projects manually without much success, but perhaps I’m just not patient enough 😉

      Thanks for sharing your method!

      Reply
  • Paul Lee

    Thanks for this. I’ve been trying to find a technique for auto-smoothing the edges of an irregular image, but I haven’t found a trick for that yet.

    Reply
    • Thomas Boldt

      You’re welcome, Paul! If you find a solution you’re happy with, I’m sure we’d all be curious to hear about it.

      Reply
  • Name

    you can also use 0,5 for the size value. And there is also the enhance -> antialias function.

    Reply
    • Thomas Boldt

      Thanks for the tips, I’ll be sure to try that out!

      Reply