Step Functions ASL Validator and Visualizer - AWS State Machine Syntax Checker and Flow Diagram

First Published:
Last Updated:

Step Functions ASL Validator and Visualizer checks your AWS Step Functions state machine definition (Amazon States Language) for syntax and structural errors, then renders a flow diagram - all in your browser.

All processing is performed entirely in your browser using client-side JavaScript. No data is transmitted to any server. Your state machine definition never leaves your device.

  • This tool is provided "AS IS" without any warranties of any kind.
  • The author accepts no responsibility for incorrect validation results or missing rules.
  • This tool performs static analysis only; it does not execute the state machine or evaluate JSONPath / Intrinsic Functions.
  • Always verify state machine definitions against the official AWS documentation before deployment.
  • By using this tool, you accept full responsibility for any outcomes.

This tool uses client-side JavaScript for all processing. No data is transmitted to servers, no files are uploaded online, all processing happens locally in your browser. Once loaded, this tool continues to work even without an internet connection. For more details, please refer to our Web Tools Disclaimer.

Drop a .json or .asl.json file here, or click to browse.

Validation Results

    Flow Diagram

    Features

    • JSON Syntax Check: Detects JSON parse errors with error messages.
    • Structural Validation: Verifies top-level StartAt / States, each state's Type, terminal rules, and reference integrity across Next / Choices[].Next / Default / Catch[].Next.
    • Nested Scope Support: Recursively validates Parallel.Branches and Map.ItemProcessor (or legacy Iterator) scopes.
    • Unreachable State Detection: Warns about states that cannot be reached from StartAt via any transition.
    • Retry / Catch Checks: Validates ErrorEquals shape and Catch[].Next references.
    • SVG Flow Diagram: Renders a color-coded diagram with arrows for Next, Choices, and Catch, with Parallel / Map scopes drawn in dashed frames.
    • Four Presets: Hello World / Choice / Parallel / Map samples for quick experimentation.
    • Drag & Drop: Load .json or .asl.json files without uploading anywhere.
    • Privacy: Everything runs in your browser. No data leaves your device.

    How to Use

    1. Paste your ASL state machine definition into the textarea, or click a sample button, or drop a .json file onto the drop zone.
    2. Click Validate & Visualize. Errors and warnings appear above the flow diagram.
    3. Use Format JSON to pretty-print the input, or Copy JSON to copy it to the clipboard.
    4. Use Clear All to reset the input, results, and diagram.

    Important Notes (Limitations)

    • This validator performs static analysis only. It does not simulate state machine execution.
    • JSONPath expressions (e.g. $.foo) and Intrinsic Functions (e.g. States.Format) are not evaluated.
    • Task resource ARNs are not validated against real AWS services.
    • The flow diagram uses a simple top-to-bottom layout; it does not optimize edge routing or detect cross-branch connections.
    • For authoritative validation, use aws stepfunctions validate-state-machine-definition or the AWS Management Console.
    • Supported State Types: Task, Choice, Wait, Parallel, Map, Succeed, Fail, Pass.

    References:
    Tech Blog with curated related content
    Web Tools Collection

    Written by Hidekazu Konishi