Create curved vector ribbons in Inkscape

Moderate Inkscape Tutorial


In this tutorial I'll take you through the steps to design and create a stylish, curved vector ribbon overlaid with a text label in Inkscape. This is a good tutorial for learning about managing groups of objects and keeping them together when applying Live Path Effect transformations such as the Bend deformation we'll use here.

What's more, we'll build the banner in such a way that we can retain the text as text, which is a bonus in case you need to change the wording or tinker with different fonts after the Bend has been applied.

Let's take a look at the graphic we're aiming to achieve by the end of this tutorial.

A vector ribbon created in Inkscape

Skills you'll be developing in this tutorial

Step 1 - Set up your canvas and create the basic shapes

Open up Inkscape and head for the Document Properties dialog box, using File --> Document Properties or Ctrl, Shift and D on the keyboard. To keep things easy to work with, we'll use a fairly large workspace for a web graphic: choose a canvas Width and Height of 350 pixels and close the window. Make sure you've got Snap bounding box corners selected, and toggle the default grid on with the # key to make our lives easier as we create shapes.

Set up a square canvas for your work

Activate the Rectangle tool and drag out a 210px by 40px rectangle on the canvas; the grid will help you out. Give it a a fill of #3b88c6 and no stroke, using the Fill and Stroke dialog box (Ctrl, Shift and F).

Create a rectangle for the central ribbon section

Switch to the Pen tool (B on the keyboard) and, using the grid as a guide, click on a series of points to make an outline for the ribbon's ends - a polygon which has triangular edges on one side, and is the same height as your main ribbon rectangle. Using the grid makes this a very easy process. Hover over the first point you created and click again to close the shape. Click and drag it into position with the Select Tool, which you can activate with F1.

Create the first of the ribbon ends

Give this shape the same fill as the main object by using the Dropper tool. Press D to change to it and, with the new shape still selected, click the rectangle to sample the colour and replicate the fill. Use the Fill and Stroke pane to remove the Stroke.

Give the new object the same fill as the first

Press Ctrl and D or click Edit --> Duplicate to create an exact copy of this ribbon end, then hit the H key or use Object --> Flip Horizontal to flip the copy ready for it to be positioned on the opposite side. Tip: hold the Ctrl key down when dragging it across to lock the movement to the horizontal axis only.

Duplicate the ribbon tail and move it into position

If you've got your ribbon sections alongside the main shape like I have, move them in and up slightly so they look like they're tucked behind the front object. As all our shapes are the same colour, it can sometimes help to change it temporarily so you can see what's happening.

When you've got them positioned correctly, send them behind the main rectangle with the End key, or Object --> Lower to Bottom in the menus.

Send the end-piece shapes to the back

With the Pen tool, draw in the triangular shapes for the folds of the ribbon. Start with the easy edges - the straight vertical and horizontal sides of the shape - then finish the shape along the hypotenuse of the triangle. Remove the Stroke from this object and change the fill to a slightly darker shade of the same colour, using the Fill and Stroke pane - my colour here is #345d7f - which will imply a shadow and add depth to the illustration.

Looking at how it stands now, I think it's also a good idea to change the colour of the end section slightly, to distinguish it from the main rectangle area. I've gone with a fill of #458ec9. It's a subtle change, but it really helps with the clarity of the shapes' edges.

Create the back-fold of the ribbon using the Pen tool

Duplicate this new triangle and move it to the mirrored position on the other side of our ribbon so we've got a nice back-fold effect on either end of our ribbon. Change the end-piece object's fill over here too.

Replicate the shape and fills on the opposite side

Step 2 - Add the lettering and extra ornamental elements

So we've got our ribbon background now - great. Let's add the all-important text, and follow that with a few extra elements to add interest, then apply the deformation to bend everything as one.

Pick up the Text tool with the T key, then click on the canvas somewhere below your central shape, and type your text. Apply appropriate font and sizing choices using the tool's settings bar.

Try to judge things like size and letter and word spacing so the final result fits across the length of the front piece with some space either side, while remaining readable. Keeping the two things close to each other on the canvas will help in this endeavour.

Create the new text on the canvas and format it appropriately

Now for the trickery. Activate the Pen tool again, and click on two points across the front of the ribbon, where you want the baseline of your text to sit. Press the Enter key, or double-click the end-point of the line to complete it. Use the grid again to help you centre it horizontally.

Flip back to the Select tool and select the text and path at the same time by holding the Shift key as you select them. Then select Text --> Put on path from the menus.

Create the new text on the canvas and format it appropriately

The text and path are now linked, so any changes you make to the path will be reflected in the position, angle and curvature of your text. Therein lies the key of what we're trying to achieve, of course.

One problem we do have, is that we've now got an ugly line getting in the way of our drawing; one that we can't remove, because our text is tethered to it. Not a problem: select the path only, and press the End key to send it to the back of the stack, leaving your handsome text floating beautifully in the centre of your ribbon banner. Whenever that path is selected, you can adjust the positioning and alignment of the text that's on it using the arrow keys, including holding Alt down at the same time for more precise alterations.

Take this opportunity to tweak your character-spacing if you find your text is not quite aligned perfectly. Also, we can now change the fill colour of our text to white and still see it.

Send the path to the back of the image to hide it from view

Now add any other ornamental items you want to. Circles or stars in the inverted parts of your banner edges work well, or cut some nicks into your ribbon with some drawn triangles and the Difference operation.

Add any other desired elements to the design before moving on

Step 3 - Apply the transformation and fix any problems

Right then, time for the magic - watch closely, as there is some quirky behaviour within Inkscape that can trip us up if we're not careful.

With your ribbon elements all in place, select everything we're going to apply the Bend transformation to. Remember, we don't need to select the text - only the path it sits on. Inkscape will take care of that bit for us.

But with the path behind everything else, how do we do that? Simply click on the text to select it, then press ! or use Edit --> Invert Selection to select everything apart from the text. Genius.

A VERY important point: the Live Path Effects we're about to use will only work in Inkscape if all the shapes are Paths.

The stars and front rectangle are not currently Paths, so convert everything we've got selected using Ctrl, Shift and C or Path --> Object to path in the menus. Then Group these objects together with Ctrl and G.

Use the information toolbar at the bottom once again to check what you're dealing with: It will go from a mixture of object types, to 8 objects of type Path, to Group of 8 objects, for example.

Make sure everything you're dealing with is a Path before bending them

Next, press Ctrl, Shift and 7 (not the world's catchiest keyboard shortcut, but there you go), or click Path --> Path Effect Editor. In the Live Path Effects panel, select Bend from the drop-down box, and click Add to add that effect to our Group.

Move the mouse over to the canvas area and, where the green line running through the centre of your Group has appeared, click and drag the centre of the line in the direction of your choosing, to curve everything we've made. Don't overcook it - a subtle bend will more than suffice for a pleasing finish.

Bend the objects into an arc with a mouse click-and-drag

Problems you might encounter

There are two very Inkscape-ish quirks here that can throw your design off-course.

Firstly, if you're using a version of Inkscape earlier than 0.48.5, there's a bug where you'll have to Ungroup them (Ctrl, Shift and G), then Group them again, otherwise the Bend Live Path Effect does some very alarming things with your shapes. Had me stumped for ages, I have to admit.

Older Inkscape versions have a glitch with Grouping

Secondly, depending on which direction you Bend to the grouped objects in, the text can sometimes flip around and appear upside down on its path. This isn't a problem either, simply Tab through the objects until you reach the path (which is at the bottom of our stack, remember, then select Path --> Reverse from the menus. Job done.

Anyway, avoid (or circumvent) those quirks, and you're winning.

Step 4 - Carry out any tweaks and place the graphic in context

Back to the project. Here's the proof that our text is still editable on the canvas. You can even change the font, size, spacing or alignment at this point. Use the Node tool (keyboard F2) to select and edit objects within the Group, which is handy for re-colouring or other similar changes.

Working in this way keeps the text editable

Keeping the elements together as a Group until the last minute is also a good idea; if you simply Ungroup everything without Converting it to a Path first, you'll find all your hard work goes awry.

Always keep the objects as a Group as long as you can

Well done! With the hard work done, it just leaves us with the task of adding any supplementary elements to our design and completing it with an appropriate background.

Finish the design with complementary text elements and geometric shapes

A popular way to finish designs like this is to apply a texture or distressing of the vector graphic, to give a more aged, vintage feel to it. Something like this, for example:

Applying a worn look to a vector graphic can lift it even further

Want to know how to do it? Well you're in luck, because in my next tutorial we'll do exactly that, and you've not got long to wait to see it, either. So, was this tutorial a blue riband winner, or has it left your nerves cut to ribbons? Leave a comment and let me know!

Mark is the Editor and owner of Designmark Graphics Ltd. Publishing tutorial articles and guides for Inkscape and the GIMP, this blog aims to boost the profile of these Open Source graphics applications and showcase what they are capable of.

comments powered by Disqus

Connect with me

I'm on a range of social channels and, to get alerts as soon as new tutorials are published, subscribe to the RSS feed using the link below.

Search the site

Search the site for a topic or tutorial subject using the search box below:

What's this blog about?

The Designmark blog is the best online resource for Open Source Graphics software tutorials, showing you how to produce quality graphics in Inkscape and the GIMP. You can find out more about how this blog came to be and what's going on behind the scenes in this article.

Who's in charge here?

That would be me, Mark. You can learn more about me, my background and the design work I do on .

Things that built this blog