Decision Flowchart Builder

Draw a labeled directed flow from entered nodes and edges, with a readable outline and supported loops.

Inputs stay on your device No sign-up Free to use
How this works

The tool runs in this browser. Your file or text is not uploaded to UseFreeTools. Check this tool's limits for anything it may save on your device.

Privacy details

Build flowchart controls

A JSON array of up to 24 objects, each with "id", "label" and "type". The type is start, process, decision or end. The id starts with a letter and uses letters, numbers, underscores or hyphens; labels are limited to 80 characters.

A JSON array of up to 48 objects, each with "from" and "to" node ids and an optional "label" of up to 40 characters. Every id must match a node.

Leave on to permit an edge that returns to a node already reached, such as a rework step. Turn it off to reject any cycle and name the edge that closes it.

Prints every labelled edge as a numbered legend entry instead of beside the connector. Useful for a dense or looping chart where a connector label would be hard to read.

Processed in your browser. Your inputs stay on this device.

Showing a generated example. Generate again for a new result.

How to use Decision Flowchart Builder

  1. Define node IDs, labels and supported node types using the shown JSON.
  2. Add labeled edges using existing node IDs.
  3. Review the drawing and text outline, then edit the source data to correct the flow.

Example: Decision Flowchart Builder

Draw a labeled directed flow from entered nodes and edges, with a readable outline and supported loops.

You add
Nodes (JSON): [ { "id": "start", "label": "Order arrives", "type": "start" }, { "id": "check", "label": "In stock?", "type": "decision" }, { "id": "ship", "label": "Pack and ship", "type": "process" }, { "id": "backorder", "label": "Place backorder", "type": "process" }, { "id": "done", "label": "Order complete", "type": "end" } ] Edges (JSON): [ { "from": "start", "to": "check" }, { "from": "check", "to": "ship", "label": "Yes" }, { "from": "check", "to": "backorder", "label": "No" }, { "from": "ship", "to": "done" }, { "from": "backorder", "to": "done" } ] Allow loops: on List branch labels in a legend: off
You get
Laid out 5 nodes and 5 edges.

Options

Node IDs
IDs connect edges to nodes and must remain distinct. Nodes keep their entered order in a vertical column.
Branches and loops
Connectors use numbered routes. Long labels and dense or cyclic graphs use a complete connection key below the nodes. A loop does not establish that a process will terminate.

Supported inputs and limits

1 to 24 nodes and up to 48 edges. Node labels allow 80 characters and edge labels 40. Direct self-edges are refused; loops across distinct nodes require the allow-loops option. Large diagrams can be tall. No workflow execution or optimal layout guarantee.

Where your input is processed

This tool processes your input in this browser. Your text and files are not uploaded to UseFreeTools. Check this tool's limits for anything it may save on your device.

A clear drawing can still contain an unclear decision

Check that each decision has enough labeled outcomes for the actual task and that every destination is intended. The outline helps inspect connections when the drawing gets dense. The page lays out declared data rather than executing a workflow or deciding what its rules should be.

Questions about Decision Flowchart Builder

Can edges refer to missing nodes?

Unknown node IDs are refused.

Are loops allowed?

Loops across distinct nodes can be drawn when enabled. A direct connection from a node to itself is refused.

Does it execute decisions?

No. It renders your declared flow.

Project manager: Tony Hines · Content updated 4 October 2026 · Report a problem