Create a heart brush in GIMP using Paths Tool

Updated on February 3, 2013
Heart brushes created with GIMP
Heart brushes created with GIMP

Heart brush can be used for many purposes such as creating a romantic background, or a Valentine card. With this tutorial you will learn how to create a heart shape brush using Paths Tool in GIMP.

Open GIMP, make a New Image, I made mine 3000 x 3000px. If you don’t plan to use your brush for high resolution (large) images you can go for smaller image, something like 800 x 800px. It’s important to create a square image, so the height and width of the image must be the same.

Now to make our life later easier, we need to create two guides, one horizontal and one vertical. For this we need to repeat the steps of creating a new guide twice.

Go to Image / Guides / New guide. Guides should go exactly through the middle of our image therefore we choose:

First guide: Position – Horizontal 1500

Second guides: Position – Vertical 1500

Now we have two lines showing us the middle of the image.

Make a New Transparent Layer, call it Heart. To get a perfect heart we will create one side of the heart then copy it and flip it over.

Choose Paths Tool and put four points like shown in Fig 1. First and last (forth) point must be located on the vertical guide.

Fig. 1
Fig. 1

Now, pointing to the middle between the first two points pull the line up see Fig 2. Two levels will appear at the both points (one level at each point). Move those levels towards each other to create a curve. Do it roughly at first just so the shape of heart begins to show, we will do adjustments after. Move onto the next two points and do the same thing with levels creating a little curve. Finally, create a small curve between the last two points.


Now we need to fine tune our first half of the heart. Note that levels of the path can be made shorter and longer, as well as pulled any way you want/need. So it all allows us to create the exact shape we have in mind.

To avoid sharp corners and uneven transition between different parts of the path, you need to make sure you make two levels look as one straight line. It’s good to zoom image closer, it will help you to see whether the line is really straight. Also, to avoid our heart look too round at the bottom, level of the last point should almost lay on the path as shown in Fig 3.


Activate Paint Brush Tool and select 100% hardness brush and set Brush size to 30.

With layer Heart selected go to Paths, right click and choose Stroke Path or select this option at the bottom of the Path window (second icon from the right). Now select Stroke with a paint tool, then choose Paint tool – Paintbrush and leave Emulate brush dynamics unchecked. You will have now right side of the heart as shown in Fig 4.


If your heart path is visible, click on the eye next to it and go to layers. Duplicate Heart layer and flip it horizontally going to Layer / Transform / Flip horizontally see Fig 5.

We don’t need Guides any more, to deactivate them go to View / Show guides and uncheck this option.

Zoom your image to 100% to see if the points of both sides of the heart connect smoothly if everything looks right, flatten your image going to Image / Flatten.


Select Crop tool and select your heart, leave tiny bit of space at every side and press Enter.

Next step is simple, but very important, so don’t miss it.

Go to Image / Grayscale. Conversion to Grayscale makes all white areas of the image (our brush) disappear when it is saved to brushes.

All what is left is to save the brush.

However, if you want your heart to be filled with colour, follow the next steps. Take Fuzzy Select tool and click on the white space in the middle of the heart. Next go to Select / Grow and enter 10px.

Fill selection with black using Bucket Tool (Fill whole selection should be chosen). Now remove selection go to Select / None. Your image should look as in Fig 6.


Final step is to save our brush.

Go to File / Export / Username (name you use to log on for your computer, with this name there should be a folder, note, I’m using Windows XP) / GIMP 2.8(in my case, you might have 2.6) double click / brushes double click. Give your brush a name, I call mine Heart and at the bottom go to Select File Type (by extension) , choose GIMPbrush, it should end with gbr and click Export.

A new small window will appear. Live Spacing as it is, but in Description field enter the same name as you called your brush, press Export.

To activate your new brush you must press Refresh button in the brushes.

The end.

Video tutorial

This article is accurate and true to the best of the author’s knowledge. Content is for informational or entertainment purposes only and does not substitute for personal counsel or professional advice in business, financial, legal, or technical matters.


    0 of 8192 characters used
    Post Comment
    • profile image


      3 years ago

      This was wonderful - thanks very much for putting this together.

    • Dina Blaszczak profile imageAUTHOR

      Dina Blaszczak 

      7 years ago from Poland

      @Vector design Thanks for reading and leaving a comment :)

    • Vector design profile image


      7 years ago from California

      Interesting Hub. discus some good points in this post. thanks for sharing.


    This website uses cookies

    As a user in the EEA, your approval is needed on a few things. To provide a better website experience, uses cookies (and other similar technologies) and may collect, process, and share personal data. Please choose which areas of our service you consent to our doing so.

    For more information on managing or withdrawing consents and how we handle data, visit our Privacy Policy at:

    Show Details
    HubPages Device IDThis is used to identify particular browsers or devices when the access the service, and is used for security reasons.
    LoginThis is necessary to sign in to the HubPages Service.
    Google RecaptchaThis is used to prevent bots and spam. (Privacy Policy)
    AkismetThis is used to detect comment spam. (Privacy Policy)
    HubPages Google AnalyticsThis is used to provide data on traffic to our website, all personally identifyable data is anonymized. (Privacy Policy)
    HubPages Traffic PixelThis is used to collect data on traffic to articles and other pages on our site. Unless you are signed in to a HubPages account, all personally identifiable information is anonymized.
    Amazon Web ServicesThis is a cloud services platform that we used to host our service. (Privacy Policy)
    CloudflareThis is a cloud CDN service that we use to efficiently deliver files required for our service to operate such as javascript, cascading style sheets, images, and videos. (Privacy Policy)
    Google Hosted LibrariesJavascript software libraries such as jQuery are loaded at endpoints on the or domains, for performance and efficiency reasons. (Privacy Policy)
    Google Custom SearchThis is feature allows you to search the site. (Privacy Policy)
    Google MapsSome articles have Google Maps embedded in them. (Privacy Policy)
    Google ChartsThis is used to display charts and graphs on articles and the author center. (Privacy Policy)
    Google AdSense Host APIThis service allows you to sign up for or associate a Google AdSense account with HubPages, so that you can earn money from ads on your articles. No data is shared unless you engage with this feature. (Privacy Policy)
    Google YouTubeSome articles have YouTube videos embedded in them. (Privacy Policy)
    VimeoSome articles have Vimeo videos embedded in them. (Privacy Policy)
    PaypalThis is used for a registered author who enrolls in the HubPages Earnings program and requests to be paid via PayPal. No data is shared with Paypal unless you engage with this feature. (Privacy Policy)
    Facebook LoginYou can use this to streamline signing up for, or signing in to your Hubpages account. No data is shared with Facebook unless you engage with this feature. (Privacy Policy)
    MavenThis supports the Maven widget and search functionality. (Privacy Policy)
    Google AdSenseThis is an ad network. (Privacy Policy)
    Google DoubleClickGoogle provides ad serving technology and runs an ad network. (Privacy Policy)
    Index ExchangeThis is an ad network. (Privacy Policy)
    SovrnThis is an ad network. (Privacy Policy)
    Facebook AdsThis is an ad network. (Privacy Policy)
    Amazon Unified Ad MarketplaceThis is an ad network. (Privacy Policy)
    AppNexusThis is an ad network. (Privacy Policy)
    OpenxThis is an ad network. (Privacy Policy)
    Rubicon ProjectThis is an ad network. (Privacy Policy)
    TripleLiftThis is an ad network. (Privacy Policy)
    Say MediaWe partner with Say Media to deliver ad campaigns on our sites. (Privacy Policy)
    Remarketing PixelsWe may use remarketing pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to advertise the HubPages Service to people that have visited our sites.
    Conversion Tracking PixelsWe may use conversion tracking pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to identify when an advertisement has successfully resulted in the desired action, such as signing up for the HubPages Service or publishing an article on the HubPages Service.
    Author Google AnalyticsThis is used to provide traffic data and reports to the authors of articles on the HubPages Service. (Privacy Policy)
    ComscoreComScore is a media measurement and analytics company providing marketing data and analytics to enterprises, media and advertising agencies, and publishers. Non-consent will result in ComScore only processing obfuscated personal data. (Privacy Policy)
    Amazon Tracking PixelSome articles display amazon products as part of the Amazon Affiliate program, this pixel provides traffic statistics for those products (Privacy Policy)
    ClickscoThis is a data management platform studying reader behavior (Privacy Policy)