What is a flowchart?
A diagram of a task or program that uses shapes and connectors flowing from top to bottom. It helps organize and explain operations by making their order, branches, and loops visible.
FLOWCHART SIMULATOR
Build flowcharts with variables, operations, branches, and loops, then run them while tracking how values change.
Desktop recommended: placing, connecting, and editing nodes works best with a mouse.
EDITOR
The current operation appears here when you start the flow.
HOW TO USE
Add nodes from the left and connect each output port to the next node. Edit operation, condition, and display expressions in Settings on the right.
Why use it? A diagram alone cannot show which branch runs, how variables change, or whether a loop ends. Running it confirms that operations follow the intended order.
Use it for Plan logic before coding, explain a process in class, check branches, calculations, and loops, or find mistakes before implementation.
Expressions use a restricted, safe expression language. Arbitrary JavaScript is not executed, and flowcharts or variables are never sent outside your browser.
GUIDE
A flowchart represents operation order and conditional branches with shapes and connectors. This tool can run the flow you create.
A diagram of a task or program that uses shapes and connectors flowing from top to bottom. It helps organize and explain operations by making their order, branches, and loops visible.
count = count + 1score >= 70. If true, follow Yes; if false, follow No."count=" + countcount < 5. If true, enter the body; if false, continue after the loop.Placement:Place one Start at the beginning of the flow and an End at its end.
Connection:Connect one OUT from Start to the next node, and connect only an IN to End. End has no OUT.
Settings:Choose Edit operation to enter a display name and operation expression. Use one assignment per line.
Connection:Connect the previous node to IN and one OUT to the next node. Example:count = count + 1
Settings:Enter a condition that evaluates to true or false or
Connection:Connect the lower Yes and No outputs to one node each. Example:score >= 70
Settings:Enter a display name and output expression. When run, the result is added to Output on the right.
Connection:Connect the previous node to IN and one OUT to the next node. Example:"count=" + count
Settings:Enter a condition and pair this node with its loop end using the same color and number.
Connection:Connect one OUT to the start of the loop body. When the condition is false, the flow automatically moves past the loop.
Settings:Select the matching loop start in Settings on the right, then place this node at the end of the loop body.
Connection:Connect one OUT to the operation after the loop. Do not draw a direct line back to the loop start; the flow returns automatically during execution.
Only one connection can leave an OUT. Connecting it to another node replaces the old line.
Multiple OUT ports can connect to the same node’s IN. Use this to merge flows after a branch.
Connect Yes and No separately only on a decision. Pair loop start and loop end in Settings; do not connect them directly to each other.
"count=" + countExample:Variables count is 1 . Then the output expression "count=" + count produces count=1 .
Editing is disabled during execution; the right panel shows actual variable values and output. Select End run to return to editing.
Runs one current node.
Runs automatically at the selected speed.
Pauses continuous execution.
Ends run mode and returns to editing.
Select the speed for continuous execution.
| Type | Symbol | Example | Meaning |
|---|---|---|---|
| Addition | + | score + 10 | Add 10 to score |
| Subtraction | - | count - 1 | Subtract 1 from count |
| Multiplication | * | price * quantity | Multiply price by quantity |
| Division | / | total / 2 | Divide total by 2 |
| Remainder | % | count % 2 == 0 | Check whether it is even |
| Type | Symbol | Example | Meaning |
|---|---|---|---|
| Equal | == | score == 70 | score equals 70 |
| Not equal | != | score != 0 | score is not 0 |
| Greater than | > | score > 70 | score is greater than 70 |
| Greater than or equal to | >= | score >= 70 | score is at least 70 |
| Less than | < | count < 5 | count is less than 5 |
| Less than or equal to | <= | count <= 5 | count is at most 5 |
| AND | && | score >= 70 && count < 5 | Both conditions are true |
| or | || | score < 0 || score > 100 | Either condition is true |
| NOT | ! | !isFinished | Inverts a boolean value |
= assigns a value in an operation, while== compares values in a condition.!isFinished When using isFinished register it as a boolean variable. Group complex conditions with parentheses, such as (score + bonus) >= 70 .
Error message Reasons the flow cannot run appear below the run controls. Problem nodes are also marked on the canvas; fix each issue shown.
true or false .