Skip to content
Flavor
ECMAScript
Deadline
500 ms
Runtime
Browser

Validate ECMAScript pattern and flag syntax without matching

Parse pattern and flags against ECMAScript 2025 grammar without applying the expression to user text.

Local processingNo sign-upKillable worker

Input

Syntax-only work uses the pinned @eslint-community/regexpp ECMAScript 2025 parser. Actual matching still follows the current browser's RegExp implementation, so a parser-valid feature can remain unavailable in an older runtime.

Local

Flags are parsed as part of the grammar contract, including u/v incompatibility.

Validation report

Submit the example or replace it with your own values. User matching runs only in a disposable browser worker.

What this tool proves

Explicit ECMAScript behavior

Validation answers a syntax question, not a performance or correctness question. A valid expression may still be inefficient, overbroad, unsupported by an older browser, or wrong for the intended data.

Grammar validity does not execute or benchmark a pattern

Validation answers a syntax question, not a performance or correctness question. A valid expression may still be inefficient, overbroad, unsupported by an older browser, or wrong for the intended data.

The parser checks duplicate and incompatible flags, Unicode and Unicode-sets grammar, group structure, quantifier placement, property escapes, and other syntax before any matching runtime is invoked.

Bounded execution protects the page without hiding risk

Any operation that runs a user pattern is isolated in a disposable Web Worker. Tool Swim terminates that worker after 500 ms, caps patterns at 4 KiB and text at 256 KiB, and never runs user matching on the interface thread.

Pattern, flags, text, replacement, matches, and explanations stay in the current browser tab. The public tool makes no developer API request, stores no preset, and works without an account or telemetry.

Primary references

Questions and answers

Related Regex tools