Arched Text: An Inkscape Tutorial

Sixthings Arched Text

This tutorial shows you how to create a baseline arch on a block of text and add some basic treatments to it, using open source vector graphics editor Inkscape. Basic knowledge of Inkscape is recommended.

Part I: Arching the Text

Once you’ve fired up Inkscape, create a new canvas and use the Text tool (F8) to insert a block of text that you want to arch (See Figure 1). Turn on Caps Lock in this step, as lowercase is frowned on where arched texts are concerned.

Sixthings text
Figure 1. Block of text on the canvas.

If needed, take care of any typographic tweaks you wish to perform, such as kerning. In our sample, I stretched the height of the text a bit (see Figure 2).

Stretched text
Figure 2. Text stretched vertically (optional).

Next, use the Ellipse tool (F5) to draw an ellipse just below the text (see Figure 3). This will serve as a guide when arching the baseline (“bottom”) of your text. Make sure that the top of the ellipse touches the baseline of your text, and (assuming you want a symmetrical arch) that your text and ellipse are vertically aligned. Use the Align and Distribute Objects panel (Ctrl+Shift+A) for the latter.

Ellipse guide
Figure 3. Ellipse guide below text.

Use the Select tool (F1) to select your block of text, convert it to a path (Ctrl+Shift+C) and break the paths apart (Ctrl+Shift+K) to isolate each letterform (see Figure 4).

Depending on your text, you may notice that the counters (“holes”) have become their own shapes, separated from their letters. When this happens, do the following for each affected letter:

  1. Use the Select tool to drag a selection box around the outermost shape of the letter, making sure not to select adjacent letters. This should select its counter(s), as well.
  2. Combine the selected paths (Ctrl+K) to rejoin the letterform and its counter(s).

Figure 4. Text broken apart into individual letters.

Now that you have each letter as its own path, use the Rectangle tool (F4) to draw a rectangle the size of the first letter (see Figure 5). For this step, you’ll want to zoom into the letter you’re working on, then use the selection cue (the dotted box around the selected object) to match your rectangle to the letter’s dimensions as accurately as possible.

Put the rectangle behind the letter (PageDown, until you see the letter), then turn the rectangle into a path (Ctrl+Shift+C), which we will now call our Bounding Box.

Bounding box
Figure 5. Bounding box behind letter.

With the bounding box still selected, use the Node tool (F2) to pull each of the bottom nodes of the bounding box straight down until they both touch the outline of our ellipse guide (see Figure 6).

You can do this precisely by selecting each node, using the Down arrow to bring it close to the ellipse, then using Alt+Up and Alt+Down to fine-tune its vertical location. This works best when you’re zoomed in closely.

Bounding box reshaped
Figure 6. Bounding box reshaped.

Now, deselect everything. Use the Select tool to select the letter you “enclosed” in the bounding box, then add-select the bounding box (Shift+Left Click). Apply the Envelope effect (Menu: Effects → Modify Path → Envelope) to map the letter into the shape of the bounding box (see Figure 7).

Note: the order in which you select the paths is important when using the Envelope effect. Always select the path to be distorted first, before add-selecting the bounding box.

Once your letter has been distorted, delete the bounding box.

First letter distorted
Figure 7. First letter distorted.

Repeat this procedure for all the remaining letters (see Figure 8). Depending on your text, you may skip the letter that is already touching the ellipse guide.

All letters distorted
Figure 8. All letters distorted.

Delete the ellipse guide, then group your letters together (Ctrl+G) to make it easy to select the whole block of text later on. Now that we have our arched text, let’s jazz it up a bit in the next steps.

Arched text
Figure 9. Arched text done.

Part II: Adding a Thick Outline

Select and Duplicate your arched text (Ctrl+D), then apply a different fill to contrast with our original text (see figure 10). (In the sample, the duplicated text is in a slightly different position, for illustrative purposes. But when you do the actual duplication, the copy will sit exactly aligned on top of the original.) Move the duplicate text to a layer below the original (PageDown) and keep it selected.

Duplicate 01
Figure 10. Duplicate for thick outline.

Apply a stroke to the duplicate text (Ctrl+Shift+F) with a color matching its fill, a thick width and a Miter Join option (see Figure 11).

Thick outline
Figure 11. A thick outline.

At this point, you might be thinking, “why not just apply a stroke to the original text?” Two reasons:

  1. In the current stable version of Inkscape (0.46 as of this writing), there are no options for strokes to avoid overlapping the shape area (either by rendering the stroke below or outside the shape, as in Adobe® Fireworks®); and
  2. Creating the outline separate from the main shape gives us more creative freedom, like with the next step, which is…

Nudge the outlined text down a few steps (see Figure 12) to give our arched text a bit of worm’s-eye perspective effect.

Nudged down
Figure 12. Outline nudged down.

Part III: Applying a Bit of Shine

Go back to your original arched text and duplicate it once more (see Figure 13). This will serve as our “shine element”. Give it a white fill.

Duplicate 02
Figure 13. Duplicate for shine effect.

Use the Dynamic Offset function (Ctrl+J, or Menu: Path → Dynamic Offset) to inset our shine element (see Figure 14).

Figure 14. Shine element inset.

Use the Gradient tool (Ctrl+F1) to apply a gradient to our shine element (see Figure 15). Drag the Gradient tool across the height of the middle letter. Hold Ctrl to snap the gradient angle and keep it perfectly vertical. Set the gradient color to (white:100 → white:0)*.

Figure 15. Shine element gradient.

Now that we’re done with our text and enhancements, give it a splash of your preferred color palette (see Figure 16). I recommend retaining the shine element’s gradient color, though experimenting with it can lead to great discoveries.

Figure 16. Colored text and outline.

Finally, depending on your text, you may need to tweak your outline. In our sample, a slightly-jagged section has formed in the arch line from the first ‘I’ to the ‘N’ When this happens, do the following:

  1. Select your outline shape;
  2. ungroup it (Ctrl+Shift+G);
  3. convert the strokes into paths (Ctrl+Alt+C); and
  4. unite them back into one path (Ctrl++)

You can now dive in and manually fine-tune the shape of the outline. Delete extra nodes and smoothen curves in the problem segments (see Figure 17).

Figure 17. Problem areas tweaked.

And you’re done!


This is my first Inkscape tutorial, so bear with me. If you see any mistakes I might have made in the instructions, or if something isn’t clear to you, please leave a comment below. Thanks!

Need a quick sample to study? Download the Inkscape SVG (sixthings-inkscape-tutorial-arched-text.svg, 84KB) for this tutorial.

36 Responses to “Arched Text: An Inkscape Tutorial”

  • Wow, great tutorial and simple to follow to, just what I didn’t need to start playing around with at 1 in the morning ;-)

  • Tomh: If it makes you feel better, I spent several 1-in-the-mornings writing it up. :) Glad you like it!

  • Wow! Thanks for this! I think this would have taken me about a week to figure out!

  • Thank you so much for the tutorial.

    I have top do more with inkscape But I know this will come in very handy…

  • Thank you so much for this tutorial it was fantastic -very clear indeed. Whats more you managed to find somthing those screencaster boys haven’t covered!

  • When I do the envelope effect it deletes my letter instead of distorting it. Do you know whats going on there?

  • David: It is important that you multi-select in a particular order when doing an envelope: select the letter first, then add-select the box second. If you’re using a version of Inkscape before v0.46, reverse the order.

    More information can be found here.

  • I fixed that but now when I do the envelope it turns the letter 90 degrees to the right when it distorts it.

  • Dude, that is a very clever method to distort the text! I can’t believe I never thought of that. You could use a similar technique in Fireworks or just about any graphic app; very versatile approach.

    Another great tutorial, thanks for sharing!

  • Just thought I would drop by and mention I put together an example of using this same technique in Fireworks, with credit to you for the original concept:

    Thanks again!

  • @Aaron: thanks! I’m playing around with the command now, great job!

  • Hey!
    Step 6…when I’m trying to do the envelope-thing the programm says: “Requires two selected paths. The second must be exactly four nodes long.” I dont know what I’m doing wrong…need your help

  • Great tutorial! What’s the name of the font style you started out with here?

  • Very cool tutorial!! Thanks

  • You cant seem to distort to a shape where the shape is not a rectangle, I cant get it to reliably Envelope into say a circle or some odd shape (trying to fit some text into the shape of a fish!)

  • hey,

    a little late to the game but this worked great. Thanks for the tutorial!

    -Miles in Chicago

  • Followed the tutorial OK until I reached the letter distortion step. When I applied the Envelope, the letter S disappeared, leaving only the “bounding box” rectangle. What have I done wrong? (BTW, the “Effects” mentioned are now called “Extensions” in v0.47.)

  • Shift+R doesn’t do anything, so far as I can tell. Tried it, then Envelope and the S still disappeared.

  • Tried again a few days later (March 3rd, computer has been off several times), still did the same thing, S disappeared.

    • Does this happen with only the S? Also, have you tried a different font? It may have something to do with the path of the S. Let me know if you find out what’s causing it.

  • It worked OK with a different font. I have no idea what caused it not to work with the other font. Successfully distorted all the letters yesterday, March 5th.

  • Great tutorial! Thanks. Just what I was looking for and more. Lots of other great info on Inkscape functions that I didn’t even know existed.

  • Thanks a lot for the tutorial. I have one problem which I can’t get around though. When I envelope my text with a box, it stretches my text in a funny way, sometimes the letter jumps to distant places, gets distorted in side ways, get upside down, left ro right, etc., and it never gets the way I want it to be :) Is there anything I’m missing here? Thanks.

  • Well written tutorial, thank you.

  • It is fantastic! Thanks for sharing this tutorial. it is very clear and easy to follow. :) good job!

  • Kaveh << What he said! ( I'm looking forward to being able to use this )

  • That’s a very applicable tutorial to our current project.

  • Thanks for publishing this tutorial!! Hooray FLOSS! Inkscape is so good!

  • Wow! very nice tutorial and very easy to follow. No wonder that this post receives so much traffic. You made it very simple, that’s why I find it very interesting. Please keep on posting, Thanks!

  • Hi

    I must be doing something wrong but when I create text, then create an object like a line, then select both and click text-Put on path, nothing happens.

    Any ideas what’s going on?


  • For anyone having trouble with the letter disappearing, see if it is below your document. If your starting size is small, it might be almost invisible.

    Instead of starting the bounding box at the top left of the letter, start it at the bottom right of the letter instead of the top left. This works for me every time.

  • Thanks for this tutorial, I’m new to Inkscape and have found this tut very helpful.
    However, I was also having problems with the Envelope Effect. But I have found
    a way around it by drawing your Bounding Box using the Bezier Tool instead of
    using the Rectangle Tool. Now the Envelope Effect works as expected.


Comments are currently closed.