Step Functions ASL Validator and Visualizer - AWS State Machine Syntax Checker and Flow Diagram
First Published:
Last Updated:
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'sType, terminal rules, and reference integrity acrossNext/Choices[].Next/Default/Catch[].Next. - Nested Scope Support: Recursively validates
Parallel.BranchesandMap.ItemProcessor(or legacyIterator) scopes. - Unreachable State Detection: Warns about states that cannot be reached from
StartAtvia any transition. - Retry / Catch Checks: Validates
ErrorEqualsshape andCatch[].Nextreferences. - SVG Flow Diagram: Renders a color-coded diagram with arrows for
Next,Choices, andCatch, with Parallel / Map scopes drawn in dashed frames. - Four Presets: Hello World / Choice / Parallel / Map samples for quick experimentation.
- Drag & Drop: Load
.jsonor.asl.jsonfiles without uploading anywhere. - Privacy: Everything runs in your browser. No data leaves your device.
How to Use
- Paste your ASL state machine definition into the textarea, or click a sample button, or drop a
.jsonfile onto the drop zone. - Click Validate & Visualize. Errors and warnings appear above the flow diagram.
- Use Format JSON to pretty-print the input, or Copy JSON to copy it to the clipboard.
- 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-definitionor 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