About this guide: This is an independent community resource for Dia users. We are not affiliated with the GNOME project or the Dia developers. Dia is free, open-source software released under the GNU GPL.
Flowcharts are one of the most common things people draw in Dia — and Dia’s dedicated Flowchart sheet makes it genuinely quick. It includes all the standard symbols (terminators, processes, decisions, input/output, and more), connectors that stay glued to your shapes, and clean export options for documents and slides. This tutorial walks you through building a complete flowchart from a blank canvas to a shareable image.
New to Dia? Grab it from our download page first. Mac users should also read the Mac setup guide (Dia on macOS needs XQuartz).
Step 1: Open Dia and Select the Flowchart Sheet
- Launch Dia. You will see the Toolbox window and a blank canvas.
- In the Toolbox, click the sheet drop-down at the top and choose Flowchart.
- The Toolbox now shows flowchart symbols: Terminator, Process, Decision, Input/Output, Document, Predefined Process, Connector, and others.
Step 2: Know Your Symbols
| Symbol | Name | Use it for |
|---|---|---|
| Rounded rectangle | Terminator | Start and End of the process |
| Rectangle | Process | An action or operation step |
| Diamond | Decision | A yes/no or branching question |
| Parallelogram | Input / Output | Reading input or producing output |
| Rectangle with double sides | Predefined process | A named sub-process defined elsewhere |
| Wavy-bottom rectangle | Document | A produced document or report |
Step 3: Place the Start Symbol
- Select the Terminator tool and click near the top of the canvas.
- Double-click the shape and type
Startin the text field. Click OK. - Every flowchart begins with exactly one Start and ends with one End — this keeps the diagram unambiguous.
Step 4: Add Process Steps
- Select the Process tool and click below the Start symbol.
- Double-click it and label it with a verb phrase, e.g.
Read user input. - Repeat for each step of your process, working top-to-bottom. Keep labels short — one action per box.
Step 5: Connect Shapes with Flow Lines
- Select the Line tool (or the dedicated connector tool) from the Toolbox.
- Click the first shape — small crosses appear. These are connection points.
- Click a connection point on the first shape, then a connection point on the second shape. The line snaps into place and stays attached when you move shapes later.
- To add arrowheads, double-click the line to open its Properties and set the end arrow style.
Step 6: Add a Decision (Branching)
- Place a Decision (diamond) where the flow branches.
- Double-click it and type the question, e.g.
Input valid?. - Connect one outgoing line from the right or bottom connection point for the “Yes” path and another for the “No” path.
- Label each branch: double-click the line (not the shape) and enter
Yes/Noas the line text. - Route the “No” path back to an earlier step or to an error-handling process box.
Step 7: Style Your Diagram
- Colors: select one or more shapes, open Properties (double-click or right-click > Properties), and set fill and line colors. A common convention: green tint for Start/End, light blue for processes, light yellow for decisions.
- Fonts: set a clean sans-serif font (Arial, DejaVu Sans) in the shape properties for readability at any size.
- Consistency: keep all boxes the same width where possible — it makes the chart dramatically easier to scan.
Step 8: Set Up the Page for Printing
- Go to File > Page Setup to choose paper size and orientation.
- Dia can span a large flowchart across multiple printed pages — check the page grid in the background to see page boundaries.
- For a one-page handout, shrink shapes or split the chart into a main flow plus sub-processes (use the Predefined Process symbol to reference them).
Step 9: Save and Export
- Always save the editable version first: File > Save as
.dia. - Then File > Export: choose PNG for slides and documents, SVG for infinite zoom without quality loss, or PDF for printing.
Full details in our export quality guide.
Worked Example: Login Validation Flowchart
Let’s build a realistic flowchart together — a user login process:
- Start: place a Terminator at the top, label it
Start. - Input: below it, place an Input/Output parallelogram labeled
Enter username & password. - Process: add a Process box:
Look up user in database. - Decision: add a Decision diamond:
User found?ConnectNoto a Process boxShow "invalid credentials" error, then loop that back to the input step. - Decision: on the
Yesbranch, add another diamond:Password correct?—Nogoes toIncrement failed attempts, then a third diamondAttempts > 3?whoseYesbranch leads toLock account for 15 minand End. - End: the
Yesbranch of “Password correct?” goes toCreate session, then a Terminator labeledEnd.
Label every branch line (Yes/No) by double-clicking the line. Color the two Terminators green, decisions yellow, and you have a flowchart ready for a code review or onboarding doc.
Plan Before You Draw
- List the steps on paper first. Flowcharts drawn “live” accumulate spaghetti; a 2-minute bullet list of steps and decisions saves 20 minutes of rearranging.
- One decision per diamond. “User found AND password correct?” is two questions — split them. Single-condition diamonds keep branches readable.
- Keep the happy path straight. Convention: the main success flow runs top-to-bottom; exceptions and errors branch to the sides. Readers scan the center line first.
- Number complex charts. For flowcharts with 15+ symbols, add small step numbers in a corner of each box (via the Text tool) so colleagues can reference “step 7” in discussions.
Speed Tips: Keyboard Shortcuts Worth Memorizing
- Ctrl + mouse wheel: zoom in/out around the cursor.
- Space + drag (or middle mouse button): pan the canvas.
- Ctrl + C / Ctrl + V: copy-paste shapes — works between two open Dia windows, so keep a “parts bin” diagram open for reusable sub-flows.
- Delete: removes selected objects; Ctrl + Z undoes.
- Arrow keys: nudge selected shapes pixel by pixel (hold Shift for bigger steps).
- Ctrl + A: select all — then change font or color for the whole diagram in one Properties edit.
- F3: open the Layers dialog without hunting through menus.
Ten minutes of practice with these and you’ll draw flowcharts roughly twice as fast — the mouse-heavy alternative really does add up over a 30-symbol chart.
When Flowcharts Are the Wrong Tool
Flowcharts are great for sequential logic, but reach for a different diagram when:
- Showing system structure → draw a network diagram or block diagram instead.
- Showing data relationships → an ER diagram communicates schema far better than boxes and arrows.
- Showing class design → a UML class diagram is the right notation.
- Showing a timeline → a Gantt-style bar layout (drawn with plain rectangles) beats a flowchart with 40 sequential boxes.
The classic failure mode is the 60-symbol mega-flowchart that nobody can follow. If your chart needs a map to navigate, split it: one overview flowchart of major phases, with each phase detailed on its own page using Predefined Process symbols as cross-references.
Frequently Asked Questions
Does Dia support swimlanes (e.g. for business processes)?
Not as a built-in symbol — the Flowchart sheet has no swimlane object. The honest workaround is to draw large labeled rectangles as lane backgrounds on a lower layer (View > Layers), then place your flowchart on top. It works fine for simple cases; for heavy BPMN work, a dedicated BPMN tool is a better fit.
How do I keep connector lines from crossing messily?
Plan the layout before connecting: keep the main flow vertical, branch decisions to the sides, and leave generous spacing. If lines must cross, right-click a line, open Properties, and adjust its routing — Dia connectors can be reshaped by dragging their middle handles.
Can I make a flowchart span multiple pages?
Yes. File > Page Setup controls paper size and orientation, and the canvas background shows page boundaries. Dia will print/export across as many pages as the diagram covers.
Why does my exported flowchart look blurry in Word?
You probably exported PNG at the default low resolution. Re-export at a higher DPI, or export as SVG/PDF for razor-sharp lines at any size. See our export guide for the exact settings.
Can I reuse symbols or templates across diagrams?
Yes — save a .dia file as a template starter, or install extra shape libraries (see installing custom shapes). Copy-paste between open Dia windows also works.
Where do I ask other Dia questions?
Our general Dia FAQ covers installation, HiDPI display fixes, and Mac/XQuartz issues.
