No run yet. Type a word in Σ* and press Run to trace it here, one step per row.
Computation Tree0
Space-time
›
Finite Automata
δ Transition Table
NFA → DFA (Subset)
DFA Minimize
DFA Minimize (Visual)
DFA Equivalence
NFA Computation Tree
ε-Closure Table
Dead State Analysis
Pushdown Automata
NPDA Simulation
NDTM Simulation
Regular Grammars
DFA/NFA → Regular Grammar
Regular Grammar → NFA
Turing Machines
UTM Simulator
TM → Grammar
MTM Transition Table
Transducers
Moore Table (λ:
Q→Δ)
Mealy Table (λ:
Q×Σ→Δ)
Moore → Mealy
Mealy → Moore
Regular Expressions
Regex → NFA (Thompson)
Regex → NFA (Visual)
NFA → Regex (GNFA)
Transformations
ε-NFA → NFA
DFA Complement
Product Construction
Decision Properties
Is Empty?
Is Finite?
Is Universal? (DFA)
Full Equivalence
Closure Operations
Kleene Star (NFA)
Reversal (NFA)
Union with M₂
Intersection with M₂
Concat with M₂
Engineering
Lexer Generator
Add Transition
Editing
FromTo→
Read
Stack
Pop
Push
Stack 2
Pop₂
Push₂
Embedded stacks
Below
Above
Tape
Write
Move
Output
Output
Probability
Edit State
Name
Use _, space or - to break long names onto multiple lines inside the node.
Role
Output
Priority Ω
Lower priorities dominate. Even accepts, odd rejects.
Outputs on outgoing transitions
Note
Markdown · Ctrl+Enter saves0 / 2000
Divider
Label
Style
Color
Create Exercise
Confirm Action
Are you sure you want to proceed?
Unsaved changes
Export as Image
Export Space-time Diagram
Export as Code, Config or Spec
Choose a format, tune its options, and review the generated output before downloading.
Build a machine
Settings
Preferences for the app, the canvas, how machines run, and StateMate.
App
Canvas
Machines
Assistant
How the app looks, how it behaves around the canvas, and how your work is saved.
Appearance
Theme
Breathing Canvas Background
Panels & Cards
Shake a Window to Hide the Panels
Hide Description Card After
Saving & Export
Autosave
Image Export Resolution (×)
How the canvas responds while you build: new states, the grid, zooming and selection.
New States
State Name Prefix
Grid
Snap to Grid by Default
Grid Size (px)
Zoom & Scroll
Scroll Wheel Zooms Canvas
Zoom Step
Selection
Click State Highlights Edges
How states and transitions are drawn on the canvas.
States
State Size (radius)
Wrap Long State Labels
Transitions
Edge Labels
Default Edge Curve
Where things are placed: the auto-layout command, and how edges and labels keep out of each other's way.
Auto-Layout
Algorithm
Spacing Between States
Collision Avoidance
Smart Self-Loops
Route Edges Around States
Keep Labels Clear
Separate Overlapping States
Clearance Around States (px)
Motion
Animate Layout Changes
What the canvas gives up to stay responsive on machines with hundreds of states. The machine itself is never changed.
Large Machines
Simplify Very Large Machines
Draw Only What Is On Screen
Drop Labels When Zoomed Out
How a run is played back, how long one may go on, and what happens when it never halts.
Playback
Playback Speed (ms per step)
Execution
Step Limits
Turing Machines
Pushdown Automata
Language Panel (per word)
Non-Halting Runs
Stop At A Repeated Configuration
Choices that change what a family of machines means. Options that belong to one machine, like a two-way tape or a PFA's cut-point, are in the Workspace panel's Machine section.
Pushdown Automata
Acceptance
Multi-Tape Turing Machines
Maximum Tapes
Transducers
Moore & Mealy Accept States
The reserved symbols machines are written with. Changing one renames it everywhere it already appears.
Strings
Epsilon (ε)
Empty Output (λ)
Any / Wildcard
Tapes
Blank
Left End Marker
Right End Marker
Stacks
Stack Bottom (Z₀)
The AI assistant: which model it talks to, how it works, and what it hands back.
Connection
Enable StateMate
Provider
Base URL
Model
API key
Your key is stored in this browser only and is sent directly to the provider you choose.
There is no server in between and nothing is logged.
Agent
Use Agent Tools
Agent Step Limit
Show Work on Canvas
Prompts
Attach Canvas by Default
Conversation Memory
Checking
Verify with Generated Tests
Repair Attempts
Results
New Machines Open a New Tab
Explain with Canvas Notes
Keyboard Shortcuts
Every key the editor listens for, grouped by what it acts on. Shortcuts are ignored while a text field has focus.
Choosing a tool
Esc
Select — click or drag states to interact
V
Pan — drag the canvas
S
State — click to place
T
Transition — source, then target
L
Divider — drag to draw a line
R
Region — drag to draw a box
D
Delete — click to remove
Whole canvas
Shift + X
Clear every state and transition
Click active tool
Return to Select
Undo and clipboard
Ctrl+Z
Undo
Ctrl+Y
Redo
Ctrl+Shift+Z
Redo (alternate)
Ctrl+C
Copy selection
Ctrl+X
Cut selection
Ctrl+V
Paste at the pointer
Ctrl+D
Duplicate selection
Selection
Ctrl+A
Select all states
Del / Backspace
Delete selection
← ↑ → ↓
Nudge by one pixel
Shift + arrows
Nudge by the grid step
Arrow keys move the selection when states are selected, and step the simulation otherwise.
Views
1
Canvas
2
Algorithms
3
Grammar
4
Reference
Esc
Close view, back to canvas
Files and tabs
Ctrl+S
Save workspace
Ctrl+Shift+S
Export as JSON
Ctrl+T · Alt+T
New workspace
Ctrl+W · Alt+W
Close workspace
Ctrl+Shift+T · Alt+Shift+T
Reopen last closed tab
Ctrl+Tab · Alt+]
Next workspace
Ctrl+Shift+Tab · Alt+[
Previous workspace
Ctrl+1…9 · Alt+1…9
Go to workspace (9 is the last)
Middle-click
Close a tab
Double-click strip
New workspace
The first of each pair is the desktop app's. A browser keeps those for its own tabs, so on the website use the Alt one.
Zoom and framing
Scroll
Zoom in / out
+ / =
Zoom in
− / _
Zoom out
H
Fit to screen
F
Fullscreen
Mouse
Space + drag
Pan while held
Middle / Alt + drag
Pan the canvas
Double-click state
Toggle accepting
Right-click
Context menu
Drag toolbar grip
Dock the toolbar
Minimap
← ↑ → ↓
Pan the view
+ / −
Zoom in / out
Home / 0
Fit to screen
Minimap keys apply while it has keyboard focus.
Stepping
Enter / →
Step forward
←
Step back
Space
Play / pause (UTM)
Note editor
Ctrl+B
Bold
Ctrl+I
Italic
Ctrl+U
Underline
AutomataStudio
Shreyan Chaubey
An IDE for designing, simulating and analysing automata and formal languages.