Text and dataRuns in your browser

Safe Regex Lab with Isolated Execution

Test a JavaScript regular expression against bounded input, inspect captures, and terminate expensive matching with a hard timeout.

  • Dedicated Web Worker
  • Hard timeout
  • Up to 500 matches
Online tool

Try the tool

Add your data, choose the settings, and get the result.

Pattern and test text

Result and risk review

—

The expression is compiled and executed only inside a dedicated Web Worker that is forcibly terminated at the timeout. Heuristic risk review is not proof that a pattern is ReDoS-free and does not replace testing in the target server runtime.

Your data stays here

Text and selected files are processed in the current browser and are not sent to a server to produce the result.

Reviewed: 2026-07-17
01

How to use it

  1. 1

    Enter a pattern without slash delimiters and provide JavaScript flags.

  2. 2

    Paste test input and choose a timeout.

  3. 3

    Run the worker, then review matches, captures, and risk signals.

02

What the tool can do

  • JavaScript flags d, g, i, m, s, u, v, and y with duplicate and conflict validation.
  • Match ranges, numbered captures, named captures, and optional indices.
  • Correct advancement for zero-length global or sticky matches.
  • Heuristic review for nested quantifiers, broad wildcards, quantified alternation, backreferences, and large quantifiers.
03

Common use cases

  • Checking a pattern and capture groups before frontend use.
  • Comparing flags and zero-length behavior.
  • Performing an initial review of a potentially expensive pattern before server-side benchmarking.
04

How it works inside

Patterns are limited to 2,000 characters, input text to 100,000 characters, and output to 500 matches with bounded previews.

A fresh worker is created for each run, terminated after completion or timeout, and never uses eval or Function construction.

05

Questions and answers

Does a low-risk review guarantee the pattern is ReDoS-free?

No. You still need adversarial tests and benchmarks in the exact runtime that will execute the pattern in production.

What happens when matching stalls?

The main UI remains responsive, and the dedicated Web Worker is forcibly terminated after the selected timeout.