Diagram & Flowchart Maker
Draw a flowchart by dropping boxes and joining them up. The arrows work out their own path and re-route themselves when a box moves, and one button arranges the whole diagram into rows. Everything happens in the page; nothing is uploaded, and the SVG it exports is real vector artwork.
Frequently asked questions
How does the arranging work?
It is a layered layout, the standard approach for anything that flows in a direction. Each box is put one row below everything that points at it, so every arrow runs forwards; then the order within each row is shuffled a few times to pull connected boxes near each other, which removes most of the crossings. If your diagram has a loop in it — and real ones usually do — the edges that close the loop are set aside while the rows are worked out, because a layered layout has no answer at all for a graph with a cycle.
Why do the arrows move when I drag a box?
Because they are recalculated rather than stored. An arrow's path depends on where both of its boxes are, so caching it would mean every move has to remember which arrows to redraw — and the failure is an arrow left pointing at where a box used to be. Recomputing costs nothing at this size and cannot go stale.
Can I control which side an arrow leaves from?
By default it picks the side facing the box it is going to, which is what makes a row of boxes read as a row. The model supports pinning a side, and when a pinned side faces away from the target the arrow detours around both boxes rather than cutting back through them.
What is the SVG good for?
It is real vector artwork — boxes, paths and text, not a picture of them. It stays sharp at any size, prints properly, and opens in Illustrator, Figma, Inkscape or a browser for further editing. PNG is there for pasting into a chat or a document where SVG is awkward.
Is anything uploaded?
No. The diagram lives in the page and the export is built in the browser. Closing the tab loses it, so use Save to write a file to your device — Open reads it back.
Related tools
- Password GeneratorGenerate strong random passwords using your browser's cryptographic RNG, with a live strength estimate.
- HTML Entity EncoderEncode text for HTML or decode entities back — the five markup breakers, named Latin-1 and symbol sets, numeric references up to emoji. Decodes exactly once.
- Regex TesterTest regular expressions with live highlighting, groups and replace preview — JavaScript's own engine, with a kill switch for catastrophic patterns.