How to Install Custom Shape Libraries in Dia (diashapes)

Dia Tutorials · Custom Shapes · Updated October 2026

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.

Dia ships with a solid set of built-in shape libraries — but the real power comes from the community ecosystem: hundreds of extra stencil packs (Cisco-style network icons, AWS-style cloud symbols, electrical symbols, and more) that you can install in minutes. This guide shows you the easy way (the free diashapes installer), the manual way, and — for the curious — how Dia shape files actually work under the hood.

You will need Dia installed first: see our download page or the Linux installation guide.

How Dia Shapes Work (60-Second Primer)

Dia organizes symbols into sheets (the categories in the Toolbox drop-down: UML, Flowchart, Network…). Each sheet contains shapes, and each shape is defined by a .shape file — a small XML document describing the shape’s geometry, connection points, and editable text fields — paired with an icon image. A .sheet file then lists which shapes belong to a sheet. Because shapes are just XML + images in a folder, installing new ones is literally a matter of copying files and restarting Dia.

Method 1: Install with diashapes (Easiest)

diashapes is a free installation wizard (version 0.3.0) by the Dia community that downloads and installs extra shape packs from the Dia Shape Repository — including popular sets like Cisco-style network icons and value-stream-mapping symbols. It is available for Windows, macOS, and Linux from the dia-installer project on SourceForge.

  1. Download the diashapes 0.3.0 installer for your platform.
  2. Run it. The wizard shows a list of available shape packs — tick the ones you want (e.g. Cisco network devices).
  3. Let the wizard finish; it copies the .shape/.sheet files into Dia’s shapes folder.
  4. Restart Dia completely (close all windows — the Toolbox too).
  5. Go to File > Sheets and Objects. You will see new sheets listed — check the ones you want active.
  6. Select a new sheet from the Toolbox drop-down and start drawing with the new symbols.
Updating packs: diashapes 0.3.0 can overwrite existing sheets with newer versions, so re-running the wizard is also how you update a stencil pack (for example, to get newly contributed Cisco-style symbols).

Method 2: Manual Installation

Use this when you download a shape pack as a ZIP from a forum, a colleague, or the Dia Shape Repository directly.

  1. Unzip the pack. You should see .shape files, icon images, and usually a .sheet file.
  2. Copy them into Dia’s user shapes folder:
    • Linux: ~/.dia/shapes/
    • Windows: the shapes folder inside Dia’s user configuration directory (create it if it does not exist)
    • macOS: ~/.dia/shapes/ in your home folder
  3. Restart Dia completely.
  4. Open File > Sheets and Objects, find the new sheet, and enable it.
Shapes not appearing? The #1 cause is not restarting Dia fully — the Toolbox window must be closed too. #2 is copying files to the wrong folder. #3 is a malformed .sheet file; try the pack’s original ZIP again or use diashapes instead.

Method 3: Create Your Own Shape (Basics)

Making a simple custom shape is very approachable because of the XML format:

  1. Draw the symbol using Dia itself (or any vector editor), then export the artwork as a .shape file — Dia can export a drawing as a Dia shape via File > Export (choose the shape format). This generates the XML for you.
  2. The generated .shape XML describes paths, fill colors, connection points (<connection> elements), and text fields you can edit per-instance.
  3. Pair it with a small icon image and register it in a .sheet file (a simple XML list) so it appears in the Toolbox.
  4. Drop both files in your user shapes folder, restart Dia, enable the sheet — your symbol is now a first-class citizen with snapping connection points.

Teams love this: design the company-standard server icon once, share the two files, and everyone draws consistent diagrams.

Popular Community Shape Packs

Pack What you get Good for
Cisco-style network set Router, switch, firewall, wireless icons in Cisco-like style Network documentation (see our network diagram tutorial)
Value Stream Mapping Kanban/lean manufacturing symbols Process improvement diagrams
Electrical / logic Extra circuit symbols beyond the built-ins Electronics coursework
Cloud/architecture sets Community-made cloud service icons System architecture overviews

Honesty note: community packs are made by volunteers — icon style may resemble vendor iconography, but they are not official vendor artwork. Check each pack’s license/readme before using icons in client-facing or commercial documents.

Organizing Your Shape Library

After installing a few packs, the Toolbox drop-down gets crowded. Keep it usable:

  • Enable only what you use: File > Sheets and Objects lets you tick/untick sheets. Disable everything you don’t need — fewer sheets means faster Toolbox browsing.
  • One project, one sheet: if your team shares a custom symbol set, keep it in a single clearly named sheet (e.g. “Acme Corp Network”) rather than scattering symbols across packs.
  • Version your packs: when diashapes offers an update, install it into a test first if the pack is business-critical — community updates occasionally rename or restyle symbols, which can subtly change existing diagrams.
  • Document sources: keep a text file next to your shapes noting where each pack came from and its license. Future-you (or your successor) will thank you during an audit.

Editing an Existing Shape

  1. Find the .shape file in your shapes folder and open it in a text editor — it’s readable XML.
  2. Common tweaks: change default fill colors (<svg:...> attributes), add an extra connection point (<connection> element), or adjust the default size.
  3. Save a backup copy first. A malformed XML file will make Dia skip the shape silently — validate by reopening Dia and checking the Toolbox.
  4. For visual redesigns, the faster path is: draw the new look in Dia, File > Export as a Dia shape to regenerate the XML, then copy over any custom connection points from the old file.

Backing Up and Migrating Your Shapes

  • Back up the whole folder: your shapes live in one place (~/.dia/shapes/ on Linux/macOS; Dia’s user config folder on Windows). Copy that folder to your backup drive or cloud storage — it’s usually only a few megabytes.
  • Migrating machines: install Dia on the new machine, copy the shapes folder over, restart Dia, re-enable sheets in File > Sheets and Objects. Done in two minutes.
  • Portable Dia: keep custom shapes inside the portable app’s data folder so the whole toolkit — program plus stencils — travels on one USB stick. See our portable guide.
  • Team distribution: for company-wide stencil sets, host the ZIP on your internal wiki with a one-line install instruction. Pin the version — silent auto-updates to shared symbols can change everyone’s diagrams.

Shape Packs and Dia Versions

One compatibility note: shape packs are generally version-independent — a .shape file written for Dia 0.97.x works in any 0.97.x build on any platform, because the XML format has been stable for years. The main thing to match is not the Dia version but the sheet list: if a colleague opens your diagram without the same sheets installed, Dia shows placeholder boxes instead of your custom symbols. When sharing .dia files that use custom shapes, always send the shape pack (or a link to it) alongside the diagram.

Frequently Asked Questions

Is diashapes safe? Where does it come from?

diashapes is a long-standing community tool from the dia-installer project (the same community source as the popular Windows Dia installers), distributed via SourceForge. It only copies shape files into Dia’s folders — it does not modify your system. As with any download, get it from the project’s own page rather than random mirrors.

What is the difference between a .shape and a .sheet file?

A .shape file defines one symbol (its XML geometry + icon). A .sheet file is an index that groups shapes into a named sheet shown in Dia’s Toolbox drop-down. You need both for a pack to appear properly.

Where exactly is the shapes folder on Windows?

In Dia’s per-user configuration directory. If you are unsure, the reliable approach is Method 1 (diashapes), which finds the folder for you. Portable Dia users (see our portable guide) should place shapes in the portable app’s data folder so they travel with the USB stick.

Can I share my custom shapes with my team?

Yes — that is one of the best uses. Send them the .shape + icon + .sheet files (or a ZIP); each person copies them to their user shapes folder and restarts Dia. Keep the files in version control if the set evolves.

Will custom shapes survive a Dia reinstall?

Shapes in your user folder survive reinstalls and upgrades, because reinstalls only touch the program folder. Back up ~/.dia (or the Windows equivalent) before major system changes anyway.

Where do I ask more Dia questions?

Our general Dia FAQ covers installation, HiDPI fixes, and platform-specific setup.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *