I'd prefer the method to draw it using two circles and a rectangle because I think that's the simplest method. But other methods are also OK. I need a not too curvy heart. Something like this.

Ideal heart found on the web

I tried putting two circles together and a square below them. But I'm not getting a perfect heart. The intersection points of the square and circles are edgy. I want to know how much distance there should be between the circles and how big the square should be when compared to the circles. Here is my effort's result.

Heart drawn by me


5 Answers 5

  1. Create a square.

    enter image description here

  2. Create a semicircle with the same diameter:

    1. Create a circle.

      enter image description here

    2. Move the round control in the circle tool to make it a semicircle, with the straight side being perfectly horizontal and facing downwards.

      enter image description here

    3. Select your square, copy, select your semicircle, edit → paste size → paste width. Be sure to have the proportion lock activated (the little lock in the toolbar).

      enter image description here

  3. Open the Align and distribute tab, choose relative to as first selected.

    1. Select your square and then your semicircle.
    2. align bottom edge of objects to top edge of anchor.
    3. align left edges.

    enter image description here

  4. Duplicate the semicircle and rotate by 90 ° clockwise, repeat step 3 analogously.

    enter image description here

  5. Select all three objects, path → object to path and path → union.

  6. Object  → transform → rotate by 45 ̌°.

    enter image description here


I would go about it as follows (more of a visual then a geometrical approach):

1) using the bézier tool, draw a triangular shape as shown below with the left line perfectly vertical (use Ctrl while drawing)

enter image description here

2) Menu Edit > Clone > Create Clone, then with selection tool enabled, flip the clone horizontally (using the icon in the tool options above) and move it to the left, snapping it to the original

enter image description here

3) select the original, and with the node tool tweak the form. You probably want the right node to be smooth.

enter image description here

4) Change fill and stroke as needed. Optional: When you're happy with the result, select the clone, and do Edit > Clone > Unlink Clone. Then select both shapes and do Path > Union. This will give you one path for the final heart shape.

enter image description here

  • 1
    Though this isn't the kind of heart I wanted this tutorial is easy to understand. Thanks. BTW I wanted a heart that was more circular than elliptical.
    – Wally
    Commented Sep 17, 2015 at 15:49
  • Just tweak the nodes in step 3 and you'll have any shape you want. There are two ways: grabbing the handles of the nodes and stretching them, or click and drag the line itself. Also moving the right node will change completely the form of the heart to any variation you can desire. See Editing paths for more (very detailed) info.
    – bartovan
    Commented Sep 19, 2015 at 5:22
  • How do you "snap it to the original" (step 2)? I have snapping turned on in document properties, but no matter how carefully I slide the cloned triangle, it simply won't snap. There is obviously some trick I have missed that is too simple to mention :-) Commented Feb 13, 2018 at 11:05
  • @PeterFlynn You need to also enable snapping in the "Snap bar", there you select which kinds of elements snap. You can find basic info in the Inkscape manual by Tavmjong (not updated for 0.92 but the basics are the same): tavmjong.free.fr/INKSCAPE/MANUAL/html/Snapping.html
    – bartovan
    Commented Feb 14, 2018 at 13:06
  • There was no "snap bar"...that was the problem. Turns out that when you maximise the window, you get a whole different load of stuff to when you are running in a window which is not full-screen. If you don't know this already, there isn't any way to find the snap bar or indeed a large amount of anything else. So I found it eventually, but this not a good approach to usability. Commented Feb 15, 2018 at 20:10

One more method a bit similar to what Wrzlprmft posted is as follows:

  1. Draw a square (hold Shift+Ctrl while dragging rectangle tool) of 100 units and a semicircle (hold Shift+Ctrl using ellipse tool) of 100 unit width.
  2. Using Align tool place the semicircle on one end of the square. Similarly duplicate the semicircle and place it on the adjacent side of the square as shown.


  1. Group the three objects.
  2. Use object- transform tool- rotate by 45 deg for rotating the grouped object. Ungroup it .
  3. Duplicate the square. With the object being selected click on the rectangle tool. Using the circular node round the edges. GIF2
  4. Selecting the two squares use path-division, combine all the parts using path- union, except the bottom rounded corner as shown.
  5. use path-union to combine the square & semi circle.

You can also draw a heart shape using heart text symbols.

  1. Add a Text in Inkscape
  2. Copy a heart symbol and paste it in Inkscape
  3. To convert text to path, go to Path > Object to Path
  • 1
    BEST SOLUTION, by far. I love Inkscape, but they should have a shape library. Why are we all wasting our time recreating the same set of simple resources?
    – MXMLLN
    Commented Apr 9, 2021 at 20:05
  • I also like and use Inkscape all the time but you are right they should definitely add more basic shapes
    – Joana
    Commented Apr 22, 2021 at 11:31
  • I agree with MXMLLN, this answer is the best; it cuts the time by a factor of 10 compared to the other methods and the result is a perfect heart shape that can easily be edited if desired. In addition, if one uses windows then one can use alt + 3 on the numpad to produce ♥ directly into the text editor without the need to copy it from elsewhere.
    – Mrkvička
    Commented Jan 7, 2022 at 18:59

There are many ways to do this. Based on what you have, I'd suggest converting the shapes to paths, combining them, and then working with the nodes.

  1. Convert the rectangle and circles to paths, if you haven't already Ctrl+Shift+C.
  2. Combine the rectangle and one of the circles by selecting them and clicking Path > Union
  3. Do the same with the other circle
  4. Using the Node Tool F2you should see a few nodes in the lower left and lower right corners, where the edges aren't meeting correctly. Merge these nodes together by clicking the "Join nodes" button from the toolbar (hover over the buttons to see what they do).

This is a common way to draw things in Inkscape: drop the rough shapes on the canvas, convert them to paths, combine them, manipulate the nodes until you get what you want.

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.