Inkscape: how to move text along path?

When attaching text to a path in Inkscape, it seems to attach the text to the start of the path. If it’s a shape, such as an ellipse then it’s often placed at the start of one of the 4 ordinal points. Regardless, this is rarely where you actually want the text to be positioned so you end up nudging it into location with some spaces.

Thinking this is kind of hacky (using the spaces) I did some googling and watched several YouTube tutorials and found they are all doing the exact same thing…using spaces.

Given that other vector software typically offers up a draggable handle to allow you to move the text along the path, I thought maybe Inkscape would have something similar but I haven’t found such a feature. Does it exist? Or is spaces simply the way to take care of it in Inkscape?


There is not a way to do this in Inkscape in the UI (see this bug), but you can do this using Inkscape’s XML Editor.

According to the SVG specifications, you can use the startOffset attribute to indicate where you want the text to begin. So all you need to do is add that attribute to the <textPath>.

  1. In Inkscape, open the XML Editor Ctrl+Shift+X.
  2. In the XML Editor, find the <svg:text>. (You can click the text in Inkscape to jump to it in the XML Editor.)
  3. Select the <svg:textPath> child of the <svg:text>.
  4. On the right side of the XML Editor in the box next to the Set button, enter startOffset. Below it, enter the value you want to move along the path.
  5. Click Set.

This isn’t ideal, but it’s more exact and cleaner that using spaces or manually adjusting the kerning. If Inkscape did have a feature in its UI for doing this, it would probably be setting this attribute in the XML.

Source : Link , Question Author : DA01 , Answer Author : Scribblemacher

Leave a Comment