Version 1.0 · Free and open source

Draw UML. Generate code.
On any desktop.

UML Wizard is a fast, native UML designer for Windows, macOS and Linux. Model your system in seven diagram types, turn class diagrams into code, import existing code, and let an optional AI assistant help.

Windows · macOS · Linux — self-contained, no .NET install needed · Apache 2.0
UML Wizard showing the Domain Model class diagram of the Online Shop sample project
Diagram types

Seven UML diagrams, one project

Organise diagrams in projects and folders, and model structure, behaviour and deployment side by side.

Class

Classes, interfaces, enums and their relationships

Sequence

Lifelines and synchronous, reply and async messages

State machine

States, choices, guards, effects and transitions

Activity

Actions, decisions, merges, forks and joins

Use case

Actors, system boundaries, «include» and «extend»

Component

Components, provided interfaces and dependencies

Deployment

Devices, nodes, execution environments and artifacts

Arrange Diagram

Automatic layout for any diagram, in one click

Why UML Wizard

Everything you need to model software

A focused designer that stays out of your way, and connects your diagrams to the code and tools you already use.

Edit in UML notation

Double-click any element and type +total(): decimal. Undo and redo, clipboard, notes, fonts, colours and line styles.

Generate code

Turn class diagrams into C#, Java, Kotlin, TypeScript, Ruby or C++ source files.

Import code

Point it at a folder of C#, C++, Java, Kotlin, Ruby or TypeScript and get a class diagram back.

PlantUML & OpenAPI

Import and export PlantUML for every diagram type, and OpenAPI for class diagrams.

Optional AI assistant

Describe a diagram and have it drawn, or chat about the open one. Claude, OpenAI-compatible or local models.

Extensible with plug-ins

Every code generation and import language is a plug-in DLL, so you can add your own.

From model to code

Your class diagram is the source of truth

Design a domain model visually, then generate source files in the language your team uses. Already have code? Import a folder and UML Wizard draws the class diagram for you, ready to arrange and document.

C#JavaKotlin TypeScriptRubyC++
namespace OnlineShop;

public class Order : Entity, IPayable
{
    private string _number;
    private OrderStatus _status = OrderStatus.New;
    public static int Count { get; set; }

    private List<OrderLine> _lines = new();

    public decimal Total()
    {
        throw new NotImplementedException();
    }

    public void AddLine(Product product, int quantity)
    {
        throw new NotImplementedException();
    }
}
AI assistant — optional

Sketch with words, refine with a chat

Diagram → Create with AI draws a diagram from a description. View → AI Chat talks about the active diagram and proposes changes, which you apply as a single undoable step.

  • Off by default: nothing is sent anywhere until you configure a service.
  • Works with Claude, OpenAI-compatible services, or local models through Ollama and LM Studio.
  • API keys live in your operating system's credential store.
Add a Payment class that each Order can have many of, with an amount and a date.
I'll add Payment with -amount: decimal and -date: DateTime, and a one-to-many association from Order.
Apply changes ↵
Also make OrderStatus include Cancelled.
Done — Cancelled is added to the enumeration in the same proposal.
Get started

Up and running in a minute

Download

Get the zip for your system from the download page. No installer, no runtime.

Unzip and run

Start UmlWizard (UmlWizard.exe on Windows) from the unzipped folder.

Open a sample

Explore OnlineShop, with every diagram type, or GangOfFour, with one diagram per design pattern.

Start modelling today

Free and open source under the Apache License 2.0.