Dia is a free, open-source diagramming application for macOS — and a handful of other platforms — that handles structured technical drawing without a subscription, a cloud account, or a watermark.
What is Dia?
Dia is a desktop drawing tool built around an open, extensible shape system. It ships with built-in libraries covering common diagram types and grows through a community-maintained catalog of downloadable shape packs — hosted at dia-installer.de — spanning everything from civil engineering notation to electrical circuit symbols, UML variants, network device icons, and more. Whatever technical domain you're diagramming, there's likely a shape set waiting for it.
Files are stored in an open XML format you can inspect, diff in Git, or process programmatically. There is no proprietary lock-in, no trial period, no file-size ceiling imposed by a free tier. The diagram you draw is an artifact you fully control.
What does Dia do best?
Dia earns its place for offline, reproducible technical diagramming. Unlike browser-based tools — Lucidchart, the web-hosted draw.io, Miro — Dia runs entirely on your machine. No connectivity required, no SaaS dependency, no concern about a service retiring your file format in a future pricing shuffle.
The shape extension system is where it genuinely shines. Pull in dedicated symbol libraries for UML class and sequence diagrams, entity-relationship modeling, ISO and ANSI flowchart conventions, network topology, and circuit schematics. I've used Dia to draft database ER diagrams and pipe the exported SVG directly into technical documentation — the aesthetic is utilitarian, but the output is structurally clean and reproducible across machines. Version-controlling the raw .dia XML files alongside your codebase keeps diagrams in sync with the systems they describe, with zero tooling overhead.
Export support is broad: SVG, PNG, PDF, EPS, and several additional formats slot neatly into most downstream workflows. The rendering won't win a design award, but it's structurally correct — which matters more for technical work than a glossy drop shadow.
Is Dia free?
Yes — completely free and released under the GNU GPL. There is no premium tier, no usage limit, and no trial period. You download it, you own it, you use it commercially or personally at zero cost, indefinitely.
Who should use Dia?
Dia suits developers, systems architects, DBAs, and technical writers who need structured diagrams on a machine they fully control. It's a strong fit for environments where data sensitivity makes SaaS tools like Lucidchart or Miro a compliance conversation — everything stays local, nothing leaves your disk.
Students learning UML, network design, or relational modeling will find the learning curve manageable and the price impossible to argue with. That said, if your goal is polished, client-facing deliverables or any form of real-time collaboration, Dia will frustrate you — it prioritises extensibility and correctness over visual finish, and the interface shows its age conspicuously next to modern design tools. Go in with appropriate expectations: this is a precision instrument for technical people, not a general-purpose visual editor.
What are the best Dia alternatives?
The most capable Mac-native alternative is OmniGraffle — beautifully polished, deeply integrated with macOS conventions, and priced accordingly. It exports to many formats but keeps you inside a proprietary structure. diagrams.net (formerly draw.io) is free, cross-platform, ships with a generous built-in shape library, and runs in the browser or as a desktop app; it's where I'd send most users who aren't already committed to a local workflow. Lucidchart leads the collaborative SaaS category but requires a paid subscription for meaningful use. For pure code-centric diagramming, Mermaid or PlantUML — text-to-diagram pipelines — are worth exploring if you live in a terminal anyway.
Dia's niche is narrow but real: free, fully offline, open-format, and extensible with specialist shape packs that no other free tool bundles as cleanly. If that description maps to your workflow, nothing else slots in quite the same way.