I would like to do some simple pattern or polygon fills in Gimp, e.g. to represent different regions in a map without resorting to colors or grayscale tones.

Some nice examples of what I seek are represented in this figure: http://mapserver.org/_images/pattern-symbol-complex.png (namely, diagonal lines, dots, simple shapes, etc.)

Gimp has a pattern fill tool with lots of "fancy" patterns which, it seems, are too complex and specific to be actually useful. There are only two patterns which resemble the ones I want (black and white horizontal stripes).

(By the way, I find it very hard to find such patterns in almost every editor I've seen. Even Excel 2007), which had pattern fills, removed this feature recently.)

Is there an easy way to add such patterns to Gimp?

2 Answers 2


The way to go there is to create the patterns yourself - and have GIMP load them as the existing patterns that can be dragged to an active selection or used with the Bucket fill or Clone tools.

Of course, the easiest way to create them is to use GIMP itself - for a dotted pattern with B&W, for example:

  1. Create a new image 5x5 pixel in size, with white background
  2. Zomm in a lot (at least 1600%)
  3. Using the pencil tool, set the brush size to 1, mark only the top left pixel in black
  4. edit->copy
  5. edit->Paste as->Pattern

There you are, GIMP automatically saves the image in the appropriate folder and loads it as one of its patterns. Of course you can work with a more elaborate textures, but since you want these simple hash patterns, the idea is to work with as small an image as possible to contain it. Besides marking each pixel individually, you may want to use the Gradient tool, with a lot of zoom and the "FG to BG (Hardedge)" gradient - or, one of my favorites, the Filters->Render->Pattern->Grid filter, which draws a grid of squares on the image, but setting either line width or line height to "0" can be used to draw horizontal or vertical stripes, or dots (if both line width and height are zero, and "intersection" is not). Just see that you crop your image at the right point so that when aligned with itself it becomes a repeating pattern, before the "Copy, Paste as Pattern" steps.

(If you want to preview a pattern before just pasting it as a new patterh, you can use Filters->Map->Tile as well)

As an extra Tip: you can drag and drop patterns directly into a Layer, without resorting to the Fill tool. So, when loading the outline of a map you want to pattern, you can use the "Fuzzy Selection Tool" (aka Magic Wand), click on an area to fill to make a selection up to its borders, and drag and drop your patterns directly from the Pattern Dialog into the selection.

Example of a simple diagonal-stripes pattern created with the gradient tool.

(Please note the background layer I filled with a smooth gradient so it worked as a visual grid for me to place precisely the gradient for the patterns picking 4 pixels in a row. I could also have used the built-in grid in the Viewmenu (after configuring it to be 1px wide in the Image menu) for that. The image previed in the previous tab is one created with the 5x5 single dot pattern I describe in above, and on the next tab is one created with the pattern shown)

  • This is blimey brilliant, and saves a lot of steps! Aug 10, 2019 at 13:32

Nice Patterns repo for using with the instructions provided above: https://www.vecteezy.com/free-vector/pattern

This is not an "ANSWER". Comments are disallowed

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.