Website review
This review may include AI-generated content and is not individually verified. Domain, certificate and other facts come from the observed data on this page.
What is UMLet?
UMLet is a free, open-source UML diagramming tool designed for speed. Instead of dragging shapes through pop-up property dialogs, you modify elements with text input and a small markdown-like dialect, which makes it well suited to quick sketches rather than exhaustive, formally validated models.
What it covers
- Diagram types include class, use case, sequence, state, deployment, and activity diagrams.
- Sequence and activity diagrams can be generated from plain text.
- Exports go to eps, pdf, jpg, svg, and the system clipboard.
- You can build custom UML elements and edit their appearance at run time by changing a few lines of Java code, which UMLet compiles on the fly.
How you can run it
- A stand-alone app for Windows, macOS, and Linux.
- An Eclipse plugin.
- A web app called UMLetino.
- An extension for Visual Studio Code.
Who it fits If you are a developer or student who wants a diagram in a minute — sketching a class structure before coding, or a sequence flow in a design discussion — the text-driven approach is faster than dialog-heavy editors. If your team needs strict UML compliance, model validation, or round-trip code generation, a heavier tool will serve you better. The trade-off is deliberate: less hand-holding, more speed and extensibility.
A concrete starting scenario Suppose you need a class diagram for a code review this afternoon. Open the stand-alone app, double-click the palette to add elements, edit each one in the lower-right text panel, press Ctrl+Space for context-sensitive help, then press C to copy the diagram straight to your clipboard and paste it into your notes. Hold Shift while drawing to avoid relations sticking to the wrong element.
For reference, see UMLet and its source on GitHub.
How do I create a sequence diagram from plain text in UMLet?
UMLet's sequence diagrams are driven by text: you type a small markdown-like dialect into an element's text panel, and the tool renders the lifelines, messages and activations from it. So the workflow is "type the participants and messages, then let UMLet draw it" rather than dragging arrows around a canvas.
The practical steps
- Double-click on the drawing area (or a palette element) to add a sequence-diagram element. UMLet's own quickstart notes that a double click adds elements.
- Select it and edit the text in the lower-right text panel — that panel is where the plain-text description lives.
- Write your participants and messages line by line, indenting or prefixing to indicate nesting, and use
Ctrl+Spacefor context-sensitive help on the syntax that element accepts. - Press
Cto copy the rendered diagram to the system clipboard, or export to eps, pdf, jpg or svg when you need a file. - Use
+/-orCtrl+mousewheelto zoom, and holdShiftwhile dragging relations so they don't stick to elements.
The syntax is element-specific, so the fastest route is to open a sequence diagram from UMLet's sample palettes and edit the existing text — the site explicitly recommends learning element features "prototypically" from samples, and says palette elements can be modified and reused as new templates.
A concrete reader scenario
Suppose you are sketching a login flow for a design review in twenty minutes. Instead of laying out five lifelines by hand, you paste text describing the browser, the auth service and the database, add the request/response lines in order, and adjust indentation until the nesting matches the call structure. You then export a PDF for the review and copy the same diagram to the clipboard for a chat message.
Trade-offs to weigh
| You get | You give up |
|---|---|
| Very fast sketching and easy version-control of diagrams as text | Precise visual layout control; text-driven elements can be fiddly for fine-tuning |
| Runs as a standalone app on Windows, macOS and Linux, as an Eclipse plugin, as a VS Code extension, and as a web app (UMLetino) | Some environments mean separate installs or plugin maintenance |
| Custom elements, including ones defined in a few lines of Java compiled on the fly | Custom elements require Java knowledge, which is a real barrier for pure modellers |
If you want a browser-only route with no install, the web version is the natural starting point; if your team already lives in VS Code or Eclipse, the corresponding extension keeps the diagram next to the code. For the project itself, see UMLet and its source at GitHub.
How does UMLet's text-based editing differ from drag-and-drop UML tools?
UMLet replaces drag-and-drop dialogs with a small text syntax. You double-click to place an element, then edit its label, attributes and relations by typing in a text panel; the diagram re-renders from what you write. Drag-and-drop tools instead expose properties through forms, palettes and handles, and you adjust the shape directly.
What changes in practice
- Speed for sketches: Typing lines like attributes or a sequence of messages is often faster than opening dialogs for each element.
- Precision and reuse: Text snippets can be copied, edited and turned into palette templates, so a house style is easier to repeat.
- Relations: UMLet warns that holding Shift avoids "sticking" relations, a hint that its relation handling differs from tools where lines snap automatically.
- Learning curve: You must learn the dialect; drag-and-drop tools are usually easier for occasional users.
- Custom elements: UMLet lets you define new element types by editing a few lines of Java that it compiles on the fly, which is unusual for a sketching tool.
When to choose which
| Need | Text-based (UMLet) | Drag-and-drop tools |
|---|---|---|
| Fast, repeatable sketches | Strong | Good |
| Non-technical stakeholders editing | Weaker | Strong |
| Custom element types | Strong | Usually limited |
| Pixel-perfect layout | Weaker | Strong |
If you mainly need quick class or sequence sketches and don't mind typing, start with the Quickstart: double-click an element, edit it in the lower-right panel, press Ctrl+Space for context help, and use 'C' to copy the diagram. If your team needs polished, presentation-ready layouts or non-technical editors, a drag-and-drop tool will likely fit better. For a browser-based option from the same project, see UMLetino.
Can I use UMLet as a plugin in Eclipse or Visual Studio Code?
Yes. UMLet is available as an Eclipse plugin and as a Visual Studio Code extension, in addition to its stand-alone desktop app for Windows, macOS, and Linux. The same project also offers a browser-based version called UMLetino, so you are not limited to one editor.
H3 Which integration fits which workflow
- Eclipse plugin — the natural choice if Eclipse is already your main IDE, for example when you model Java projects and want diagrams alongside your code without switching applications. The page notes improved OS and Eclipse integration in version 14.3.
- Visual Studio Code extension — suits developers who live in VS Code, including those working in languages other than Java. The project points to the VS Code Marketplace, where you can also star the extension.
- Stand-alone app — useful when you want the full-featured tool independent of any IDE, or when you need to work with diagrams outside a coding session.
- UMLetino (web app) — handy for quick sketches on a machine where you cannot install anything.
H3 What stays the same across them
The core idea does not change: you edit UML elements through text input and a small markdown dialect rather than pop-up dialogs, which is what makes sketching fast. Exports to eps, pdf, jpg, svg, and the clipboard are part of the described feature set, as is building custom UML elements. Diagram types mentioned include class, use case, sequence, state, deployment, and activity diagrams.
H3 Practical check before installing
Confirm the extension or plugin is the official one from the UMLet project before installing, and check that the version supports your editor release. If you mainly need a one-off diagram, the web app or stand-alone download may be less setup than adding an IDE extension.
Next step: open your editor's marketplace, search for UMLet, and compare the listed version against the current UMLet release noted on UMLet.
How do I create custom UML elements in UMLet?
Custom elements are one of UMLet's defining features: instead of relying only on the built-in palettes, you can define your own element types and reuse them like any stock UML shape. According to the UMLet page, an element's appearance is controlled by a small amount of Java code, and UMLet compiles the new element's code on the fly, so you can create and add new element types without leaving the application. The same page notes that elements can also be modified inside their palettes and immediately used as new templates, which is the simpler route if you only need a restyled variant of an existing element.
Two levels of customization
- Palette-level templates: Edit an element's text (the lower-right text panel) and its markdown-style dialect, then save it back into the palette. This is the low-effort path for tweaking labels, compartments, colors, or layout conventions you use repeatedly.
- Code-level custom elements: Write a small Java-based element definition so UMLet can draw entirely new shapes or behaviors. This is the path for genuinely new element types rather than restyled ones.
A practical workflow
A reasonable scenario: you work on a team that uses a house notation for microservice boundaries. Start by double-clicking to place a close existing element, adjust its text and drawing instructions in the text panel, and confirm it looks right. If the tweak is enough, drag it into a palette as a template and reuse it across diagrams. If you need geometry or rendering logic the text dialect cannot express, move to the code route and iterate on the Java definition until the on-the-fly compile produces the shape you want, then add it to your palette for the team.
Trade-offs to weigh
| Approach | Effort | Best for | Main cost |
|---|---|---|---|
| Palette templates | Low | Restyling, house conventions, quick reuse | Limited to what the text dialect can express |
| Custom Java elements | Higher | New shapes and custom rendering behavior | Requires reading Java and iterating on compile errors |
The trade-off is speed versus reach: palette templates keep you fast but cap what you can express, while code-level elements unlock new notation at the price of a programming detour. If you mainly sketch class, use case, sequence, state, deployment, or activity diagrams, the built-in types plus templates usually suffice; go custom when your notation is genuinely non-standard.
Next step
Open UMLet, place an element, and try editing it in the text panel first to see how far the dialect takes you. If that is not enough, consult the project's own custom-element documentation and papers linked from UMLet before writing code, and check the samples for working examples to adapt.
What export formats does UMLet support for sharing diagrams?
UMLet exports diagrams to EPS, PDF, JPG, SVG, and the system clipboard, according to its own feature description. The clipboard option is the quickest route for pasting a sketch into a chat, document, or slide deck; the file formats are better when you need something to hand off, archive, or drop into a report.
Practical choices
- Clipboard — fastest for ad-hoc sharing; paste straight into email, Slack, Word, or slides. No file to manage, but no durable artifact either.
- SVG / EPS — vector output, so lines and text stay sharp when scaled or printed. Prefer SVG for web pages and modern design tools; EPS suits print and older publishing workflows.
- PDF — a safe universal hand-off format for review, printing, or attaching to tickets.
- JPG — raster, fine for a quick screenshot-style share, but it will blur if enlarged.
A concrete scenario Say you are sketching a class diagram for a design review. Export to PDF for the reviewers, keep an SVG copy for the wiki, and use the clipboard for the chat thread where people are discussing it live. One diagram, three audiences, no rework.
If you want to try it before committing, UMLet is available as a standalone app, an Eclipse plugin, and a Visual Studio Code extension; the web version, UMLetino, is the lowest-friction way to test the export behavior on your own diagram. See UMLet.
User reviews (0)