Your story.
Every choice matters.

Visual dialogue tree editor for visual novel writers and TTRPG game masters. Map branching conversations, conditions, and character arcs — all in one canvas.

story.ink — inkgraph
NARRATOR
BUILT FOR STORYTELLERS

Built for visual novels and RPGs

CANVAS
Infinite node canvas
Map hundreds of nodes across an infinite canvas. Zoom out to see the full arc of your story.
CHOICES
Deep branching
Each choice leads to its own branch. Gate options behind conditions based on story flags.
CAST
Full cast management
Characters get names, colours, moods, relationships. Their stripe runs through every node.
FLAGS
Variables & flags
Track reputation, quest state, counters. The effects system fires when a node is reached.
SCENES
Scene graph
Visualise how scenes connect, which characters appear, and what gates entry to each.
EXPORT
JSON export
One click. A clean JSON file ready for Unity, Godot, Ren'Py, or any custom parser.
N newC choiceZ undo
Enter the vaultAsk about the keyMIRAThe vault has been sea…CAELI know. I put it there.MIRAWho gave you the key?CAELNobody. I made one.MIRAThen why tell me?CAELBecause you're the onl…
↑ drag the nodes
dialogue_v1 — scene_02.ink · hover to explore
DIALOGUE SIMULATOR

Play through
before you ship.

Walk through any scene as a player would. Make choices, watch variables change in real time, catch dead ends before your players do.

The simulator is built into the editor — no setup, no export needed.

Live variable tracking
Real choice evaluation
End-of-scene summary
ELARA
The vault has been sealed for forty years. Nobody knows what's inside.
VIKTOR
I know. I put it there.
CHOOSE YOUR RESPONSE
1.I'll do it. When do we go?
2.Tell me what's in there first.
3.I don't trust you. Not yet.
WORKFLOW

From idea to export.

Hover each step to see the keyboard shortcut.

01
N
Add a node
Press N. Type what your character says. Assign them a colour from your cast.
N
02
C
Branch with choices
Press C. Each choice gets its own thread. Drag the amber port to the next node.
C
03
if
Add conditions
Gate choices behind variables. friendship ≥ 5 → this line appears. Otherwise invisible.
if
04
Simulate
Walk through as a player. Watch variables flash. Catch dead ends before players do.
05
{}
Export
One click. Clean JSON drops into your downloads. Ready for Unity, Godot, Ren'Py.
{}
START WRITING

Your next story
starts here.

Free account. Cloud saves. No install. Start in seconds.