Parse JavaScript into an ESTree AST without running code.
Your input
Outputs are cleared when the input changes.
Result
Enter your data or use the example, then run the tool.
Worked example
The sample exports a Chinese string. Switch to script mode to see module-only syntax rejected; JSX requires the JSX option.
Method
Espree parses source into ESTree nodes with tokens, comments, ranges and line/column locations. Nothing is evaluated, imported or executed. Exported BigInt values are encoded as strings with an n suffix.
Limits
Source ≤100,000 characters; AST depth ≤80 / 40,000 JSON nodes. UTF-16 offsets, zero-based columns and one-based lines. JavaScript/optional JSX only, not TypeScript. AST validity does not establish program correctness or security.
All work stays in this browser. Each disposable worker is terminated after 2.5 seconds or cancellation. Inputs and processing logs are not sent to analytics.
Your inputs stay on this device. Only optional, consented page visits are measured. Input values, files, filenames and processing logs are not sent to Analytics.
When switching languages, text, settings and selected files are temporarily kept on this device. Transfers are removed after restoring; interrupted transfers are cleaned up on a later visit. Inputs and files are never uploaded.