Automata Designers

← DFA Designer ← Turing Machine Designer

Finite State Machine Designer

Overview

The Finite State Machine Designer is a powerful, interactive tool for creating and visualizing deterministic finite automata (DFA) and finite state machines. Built with HTML5 Canvas and JavaScript, it features an infinite canvas with zoom and pan capabilities, making it perfect for educational purposes and automata theory studies.

Mouse Controls

Double-click on canvas Add a new state to your automaton
Right-click on state Open context menu to change state type (start/accept state)
Shift + Drag Create a transition arrow between states
Drag objects Move states and transitions around the canvas
Mouse wheel Zoom in and out of the canvas
Middle-click + Drag Pan around the infinite canvas
Space + Drag Alternative method to pan the canvas
Ctrl + Drag Another way to pan around the canvas

Keyboard Shortcuts

Delete Remove the selected state or transition
Backspace Delete text when editing labels
Ctrl + Z Undo the last action
Enter Confirm text input when editing labels

State Management

Creating States

State Types

Changing State Types

Transitions

Creating Transitions

Editing Transition Labels

Special Notation

Features

Infinite Canvas
Unlimited workspace with smooth zooming and panning
Export Options
Save as PNG, SVG, or LaTeX for use in documents
JSON Import/Export
Save and load your automata for later editing
DFA Simulation
Test input strings against your automaton
Undo System
Revert changes with Ctrl+Z
Auto-layout
Automatic curve generation for multiple transitions
Responsive Design
Works on desktop, tablet, and mobile devices
Mathematical Notation
Support for Greek letters and subscripts

DFA Simulation

The simulator allows you to test input strings against your automaton to verify its correctness:

Export Formats

PNG Export

Creates a high-resolution image of your automaton, perfect for including in presentations or documents.

SVG Export

Generates scalable vector graphics that maintain quality at any size, ideal for academic papers.

LaTeX Export

Produces LaTeX code using TikZ that you can include in academic documents and papers.

JSON Export

Saves your complete automaton design in a structured format that can be imported later for editing.

Tips and Best Practices

Technical Information

This application is built using modern web technologies:

Originally created by Evan Wallace in 2010, this version has been enhanced with infinite canvas support, improved UI, and additional features for modern browsers.

Turing Machine Designer

Overview

The Turing Machine Designer is an interactive tool for creating and simulating Turing machines on an infinite canvas with zoom and pan. Build states and transitions, configure tape input, and simulate step-by-step or automatically.

Mouse Controls

Double-click on canvas Add a new state
Shift + Drag Create a transition between states (self-loops supported)
Drag objects Move states and transitions
Mouse wheel Zoom in/out
Middle-click + Drag / Ctrl + Drag / Space + Drag Pan the canvas

Keyboard Shortcuts

Delete Delete selected state or transition
Backspace Edit and delete label text
Ctrl + Z Undo last action

States and Transitions

Creating States

Transition Labels

Simulation

Import/Export

Features

Infinite Canvas
Smooth zooming and panning
Simulation Controls
Step, Run, Pause, Reset with adjustable speed
JSON Import/Export
Save and load machines
High-Quality Exports
Export PNG images

Tips

Technical