All templates

State Machine Diagram Template

Visualize states, transitions, and events in your system. Ideal for modeling UI flows, authentication lifecycles, and order state machines.

Use this template

What you get

  • State nodes with enter/exit actions
  • Transition arrows with event labels
  • Initial and terminal state markers

What this template is for

A state machine diagram shows how a system moves between states in response to events. Each state represents a condition or mode the system can be in; each transition is a triggered change from one state to another. This template helps developers, system designers, and product managers model behavior that depends on current state — from user authentication flows to order processing pipelines to device lifecycle management.

When to use this template

  • Model an order lifecycle: Pending → Confirmed → Shipped → Delivered → Returned.
  • Design an authentication flow: Logged Out → Logging In → Authenticated → Session Expired.
  • Map a device state machine: Off → Booting → Idle → Active → Sleep → Off.
  • Document a user onboarding flow where each screen is a state and user actions are transitions.
  • Specify a payment processing flow with states for Authorizing, Captured, Refunded, and Failed.

How to use it

  1. 1List all the distinct states your system can be in — these become the nodes in your diagram.
  2. 2Identify the events or conditions that cause a transition from one state to another.
  3. 3Draw arrows between states and label each with the triggering event.
  4. 4Mark the initial state with a filled circle and final states with a double circle.
  5. 5Validate: from any state, are all possible transitions accounted for?

Quick example

User authentication state machine

States: Logged Out, Authenticating, Authenticated, Session Expired
Transitions: Login Click → Authenticating, Success → Authenticated, Timeout → Session Expired

How it compares to similar tools

State Machine vs Flowchart

A flowchart shows a linear sequence of steps and decisions. A state machine shows how a system responds to events over time, looping back to previous states. Use a flowchart for one-time processes; use a state machine for systems whose behavior depends on what happened before.

State Machine vs Activity Diagram

Both are UML diagrams. Activity diagrams focus on the flow of control within a process. State machine diagrams focus on the lifecycle of a single object or system across multiple processes. An activity diagram shows what happens; a state machine shows what state things are in.

Common mistakes to avoid

  • Forgetting to model error states

    Every state machine needs transitions for failures — what happens when a network call times out, a payment is declined, or validation fails. Without error states, the model only describes the happy path.

  • Creating too many states

    If you have more than 15 states in a single diagram, the system is probably too granular. Group related substates or split into a hierarchical state machine with a high-level overview and drill-down diagrams.

Frequently asked questions

What is the difference between a state and a transition?+

A state is a condition the system is in at a given moment — 'Logged In' or 'Awaiting Payment.' A transition is the movement from one state to another triggered by an event — 'User clicks login' or 'Payment received.' States are nouns; transitions are verbs with a cause.

When should I use a state machine diagram instead of just writing code?+

Use a diagram when the state logic is complex enough that reading the code would take longer than looking at a picture. If you have more than 5 states or more than 3 types of transitions, a diagram will help you spot missing edge cases before you write them.

Start editing online

Open the template in CodePic, replace the sample content, and make it your own in a few minutes.

See examples: /templates/state-machine/examples

More templates you might like