Inkscape Web Comic Tutorial: The Speech Balloon

This is the first in a series of tutorials on using the free vector image editing software, Inkscape to make comics. This series of comics will be specifically for use in making a comic out of anime screenshots, but the same information can be applied to photograph comics and hand- or computer-drawn comics.

This series of tutorials expects a very basic understanding of Inkscape, but should be understandable to a patient newcomer to Inkscape who’s ready to explore the software a little to find what’s written about here.

This tutorial is written using Inkscape 0.46.

The most basic item of a comic is the speech balloon (also known as speech bubbles, dialogue balloons, or word balloons). These most often appear in one of three variety: regular speech, exclamation or shouting speech, and thoughts. This tutorial covers the basic speech balloon.

The Speech Balloon

Before the balloon can be drawn, the speech for it must be typed out. Even though the balloon can be typed out later, I like to have the text typed out beforehand.

The text tool is accessed by keyboard by pressing the F8 key. On my installation of Inkscape, there is a toolbar on the left, as well, with a letter “A” button representing the text tool. Selecting this tool will change the tool options bar (lower toolbar on the top) to text options.

On my laptop’s standard Kubuntu Linux installation, there is a font called “Purisa”, which makes for a decent comic font when typed in all capital letters. There are better fonts out there for a comic, but for now, this is all I have.

Click on the blank Inkscape page and drag the mouse, which creates a blue square. These are the boundaries of the text about to be typed, and the blue square can be resized later by clicking on the white diamond on the lower-right corner of the blue square and dragging it.

Type the text for the speech ballon inside of the blue square. If necessary, resize the blue square until the text appears as desired, with certain words on certain lines. Optionally, the Enter key can be used to force the text to wrap between certain words.

With the text written out, it’s time to draw the balloon for it. This uses the circle and ellipse tool, appearing on the toolbar as a shaded circle, and accessible via keyboard by pressing the F5 key.

Using the ellipse tool, click near top-left of the text, then drag the mouse to the bottom-right of the text. It’s all right if the text is not completely covered. That will be corrected in a moment. The ellipse will appear over the text. Press the Page Down key to move it down one layer, so it will appear below the text.

Click on the mouse pointer icon on the toolbar, or press F1, for the select tool. The ellipse is selected automatically. Resize and move the ellipse as needed, but do not worry about perfectly centering the text inside the balloon.

At this point, it’s a good idea to get the thickness of the balloon’s outline just right. At the upper of the two top toolbars, locate the paintbrush icon. Click on the icon to access the options for modifying “fill”, “stroke paint”, and “stroke style”.

Click on the “stroke” style tab. Set the “width” to “px” (pixels) for measurement units, then type in the value 2 and press enter. Try other values to see which thickness you like best. I’ll go with 2 pixels. (If you have a background behind the speech balloon, you’ll want to select the “fill” tab, and select the “flat color” icon if it isn’t already selected. Set the color to white.)

The selection tool should still be the current tool, with the bubble ellipse selected. Hold the shift key and click on a letter of the text to select the text. If this is difficult, then instead click past the top-left of the text and ellipse, then drag the mouse to the bottom-right, covering both objects completely to select both.

Going back to the top-most toolbar, click on the “align” button, which shows three horizontal bars of differing length. This brings up the “align and distribute” options. The “relative to” should be set to “selection”, because you want to align the two selected items with one another.

Click on the “center on vertical axis” icon, then click on the “center on horizontal axis” icon. This will center the text perfectly inside the ellipse.

By now, the speech balloon should be looking pretty nice. However, there’s still one thing missing: the tail. There’s no speaker visible, so we’ll pretend there’s a speaker, and put the tail pointing toward that person. I’ll go with a speaker down and to the right of the speech balloon.

Select the “Bezier curves and straight lines” tool on the toolbar to the left, represented by a fine-tip pen, and keyboard-accessible via Shift+F6. I recommend zooming in two or three times for a closer look when drawing the tail.

Imagine where the tail will be on the balloon. The tail is a line that begins from the ballon, goes away from the balloon, then goes back to the balloon again.

Click inside the balloon where you want the tail to begin. Moving the mouse, a straight line will be shown. Decide where the tail’s point should be, then click there. Move the mouse to where the tail should touch the balloon again, then double-click inside the balloon near there. Double-clicking is important, because this “ends” the series of connected lines being drawn by the tool.

At this point, the “edit paths” tool (F2) may be used to move any point of the tail. Clicking on a line allows “bending” the line as a curve. A speech balloon may have either straight or curved lines for a tail, but remember to pick one or the other and be consistant!

Go ahead and zoom back out to 100% view.

Choose the select tool (F1) again. The tail will be the selected item. Return to the upper toolbar’s paintbrush item for the fill and stroke options, and set the “stoke style” tab’s width property to the same width as the balloon’s border (2 pixels in my case). There is no need to change the stroke width for the tail. The stroke width will change to the balloon’s width in a later step.

Shift+click the ellispe to select it as well (clicking on either the border or inside of the balloon). Do not select the text!

With the balloon and its tail selected, click on the “Path” menu, then select the “Union” item. Otherwise, from the keyboard, the shortcut is Ctrl+Shift+- (meaning Ctrl++). This will join the two objects together. The tail’s stroke width will change to match the balloon’s stroke width.

Select both the balloon and the text, then click on the upper toolbar’s “group selected objects” or use Ctrl+G on the keyboard to group the two together. This allows moving them together. If they text needs to be changed, ungroup the two (Ctrl+Shift+G), then change the text using the text tool.

(Okay, that’s essentially the same image as the one before it…)

That’s enough for one tutorial.

6 Responses to “Inkscape Web Comic Tutorial: The Speech Balloon”

  1. Bimalendu Says:

    Although it is a small tutorial; there is clarity in here. Keep up the good work ;)

  2. Chris Says:

    Thanks! I have a handful more planned (to begin with), but I’m still playing around with different ways of doing things.

  3. Scriveyn Says:

    Just started looking for a way to put balloons into photos/graphics. – Same as you I was missing a quick freeware solution. So, the next best solution seems to be the free, slightly slower manual process through inkscape. I’ll look into your tutorials (thanks galore!) and see what I can achieve.
    BTW, I found this free vector graphics resource, which I understand can be imported into inkscape(?)


  4. Chris Says:

    I don’t know of any way to import an .eps file (from Blambot’s resources page) into Inkscape, but you can convert it to a PNG (maybe Gimp can open it; otherwise, open it in a PDF view, then save a screenshot). With the speech balloons image as a PNG, open it in Gimp and use the Threshold (I think it’s under the Color menu; I have a broken Gimp install on my PC, so I can’t confirm) to ensure it’s completely black and white (two colors).

    You can open the PNG in Inkscape, then choose “Path->Trace Bitmap”. This gives will vectorize the balloons, but they’re still one image. Path->Break Apart will break them into individual vectors.

    At least, in theory that should work. You might need to save each image from the EPS to a separate file before importing them into Inkscape. After all that work, the speech balloons might just be easier to reproduce from scratch in Inkscape. In fact, I should create a resource of pre-made speech balloons in SVG format…

  5. Scriveyn Says:

    Hi Chris,

    I managed to convert the eps file to pdf with this online utility ( and import the pdf into inkscape.
    I am a complete newb with inkscape, so I fiddled around rather aimlessly, among other things activating the XML view of the doc. Somehow this got me into a mode where the balloons and their nodes/paths were editable. So I think they can be copied individually.

    I’ll check out your tip Path–>Break when I have the time :)

    At a closer look, the blambot balloons aren’t exactly to my taste, but it certainly is a good thing to build one’s own resource for reusing instead of building every balloon from scratch.

    Blambot also has a nice article about “cartoon grammar” (

  6. Chris Says:

    I’ll have to look over their grammar page in detail and see what can be easily reproduced in Inkscape.

    Having put together a number of photo comics, I’ve found there’d no way I could have done it without manually making balloons. I need to put together another tutorial, covering the tips and tricks I’ve learned.

    Recently, I tried methods to have text inside a balloon that resizes and reshapes to fit the text. That ended in failure every step of the way!