RegexCraft Studio
Visual Engine & ReDoS WatchdogTest, explain, and export regular expressions — entirely in your browser with zero cloud egress.
- Zero Cloud Egress
- In-Browser Worker
- No Account Required
Matches will populate live as you type.
Why RegexCraft
The incumbents wrap regex debugging in ads, cloud uploads, and server-side timeouts. RegexCraft delivers a zero-egress, offline-first workstation with ReDoS protection, plain-English explainers, and honest multi-engine export.
| Capability | RegexCraft | regex101 | RegExr |
|---|---|---|---|
| Privacy & ads | 100% in-browser · zero ads | Cloud save · ads | Cloud debugger · ads |
| Hang / ReDoS protection | 1.5s in-app worker watchdog | Server-side timeout | Can freeze the tab |
| Explainer & diagram | Plain-English + live railroad | Token explanation | Colorized only |
| Honest multi-engine export | JS · Python · Go (RE2) · Rust | PHP / JS / Python | JS / Python |
| Works offline | Offline-first | Online only | Online only |
| Account required | Not required | Not required | Not required |
Patterns that travel across engines
Copy-ready recipes for the engines RegexCraft exports to — JavaScript, Python, Go, and Rust — plus the PCRE2 and POSIX dialects most patterns are born in. Every snippet runs as written, with the quirk each engine enforces.
JavaScript — RegExp with matchAll
The engine RegexCraft itself runs on. Flags g/i/m/s/u/y, named groups, lookaround, and backreferences are all in — atomic groups and possessive quantifiers are not, so nested quantifiers like (a+)+ backtrack catastrophically. RegexCraft's watchdog terminates any match that overruns its budget.
// Flags: g = every match, m = ^/$ per line, u = unicode-aware
const emailRe = /\b(\w+)@(\w+)\.(\w{2,})\b/gmu;
// The test string — matches ignite the moment it is pasted
const text = "Reach ada@analytical.org or grace@usnavy.mil for notes";
// matchAll requires the g flag and yields one match object per hit
for (const m of text.matchAll(emailRe)) {
// m.index = start offset; m[0] = full match; m[1]..m[3] = capture groups
console.log(`${m.index}: ${m[0]} [user=${m[1]}, host=${m[2]}]`);
}
// → 6: ada@analytical.org [user=ada, host=analytical.org]
// → 28: grace@usnavy.mil [user=grace, host=usnavy.mil]Frequently answered questions
Technical specifications on regex engines, offline Web Worker execution, catastrophic backtracking (ReDoS) mitigation, and zero-egress privacy.
01Is my pattern and test data private?
02Why does the same regex behave differently across engines?
03What makes RegexCraft different from regex101 or RegExr?
04How does RegexCraft protect against catastrophic backtracking (ReDoS)?
05Does RegexCraft work offline?
06How do I export patterns to JavaScript, Python, Go, or Rust?
Ready to test and export regular expressions?
Zero cloud egress. 100% in-browser Web Worker. No ads, tracking, or remote API dependencies.