I need to convert simple letters that are paths in Inkscape to even simpler primitive object,, in this case letter K from 12 nodes to path with 6 nodes,, enter image description here

I don't think that this is simple task and that it's doable inside Inkscape interface, but if anyone has some ideas or suggestions how to approach this please share, ,thanks


3 Answers 3


Can I ask what is your goal or purpose for such text?

There is an extension that is included with the latest Inkscape called Hershey Text than can output single stroke or multiple stroke lettering. The extension is explained here: http://www.evilmadscientist.com/2011/hershey-text-an-inkscape-extension-for-engraving-fonts/

The extension is found under:

  • Inkscape < 1.0: Extensions > Render > Hershey Text
  • Inkscape >= 1.0: Extensions > Text > Hershey Text...

Here's a screenshot of the Extension in action

enter image description here

  • wow,, I didn't know for that feature in Inkscape,, thank you very much that's what I needed exactly :) the purpose of this is to make web animation letters from stokes only Commented May 9, 2017 at 13:59

This is called a straight skeleton, and there is no such operation in inkscape or any other graphics design application for that matter. But you can make a straight skeleton by insetting the surface copy several times and then finding where the edges meet. This is how the algorithm works too.

Now if you manually follow the algorithm and inset enough you will find the points of intersection and where the centers amass. Doing the algorithm manually results in:

enter image description here

Here is a paper on how you would do it. As you see its not a perfect method since it does not always yield clean results. Like in the K. If this glitch is not desired then there is no framework, that we know of, for making this fully automated. (note there would be a glitch on top corner of P too but i fixed it since it was less work to draw that way)

Now it is true that you could use fonts that are already single line. But then your limited to what others have already done for you. But then even if you would have a inset function you'd end up doing manual tweaks.

  • thank you very much @joojaa for your detailed and knowledgeable answer, it was certainly something that I was hoping to get.. my plans are to replace that manual tweaks and 'glitches' with AI bot Commented May 11, 2017 at 10:07

If you have a proper single stroke font that fits, you can simply rewrite your text. This may look out a bad joke, if you have not. Sorry for that.

Because I do not know any automatic software that finds the bones of the glyphs, I suggest a manual method. See the following cartoon:

enter image description here

  1. Have a bunch of lines and curves that you consider to be essential
  2. Copy the needed lines and curves over the outline of a glyph. Combine the lines and curves by Path > Combine
  3. By using the Node Editing tool drag the nodes, select and kill them, add new nodes. If you kill a node at the end of a line, it shortens to the next node. Be sure that you have node snappings on and prepare to change them, too to snap easily to the midpoints.
  4. Check the result with the wanted final stroke
  • This si same as my answer except you resort to guessing, which admittedly is produces better result than a algorithm would.
    – joojaa
    Commented May 10, 2017 at 5:32
  • @joojaa No problem - except neither of us collect loads of support by writing about something that the questioner desperately wanted to avoid.
    – user82991
    Commented May 10, 2017 at 6:21
  • Truth hurts. :)
    – joojaa
    Commented May 10, 2017 at 6:46

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.