About this tool
RegexCheck runs your pattern with the same JavaScript engine your code ships to — what matches here matches in Node.js and every browser. Matches highlight as you type, capture groups are listed per match, and the breakdown table translates each piece of the pattern into plain language.
Patterns run inside a Web Worker with a 2-second kill switch, so a catastrophically backtracking regex like (a+)+$ cannot freeze the page. Everything stays on your machine — the text you paste is never uploaded. Need a starting point? Grab a ready-made email, URL or IP pattern, or keep the cheatsheet open. More free tools at dec0de.dev.
The tester also works offline: install it as an app and it loads instantly without a connection. When you need to do something with your matches — pull them out of a log, delete matching lines or rewrite them with backreferences — the companion tool regexnow.com extracts, filters and replaces in bulk using the same engine. Every pattern on the common patterns page opens here with one click, pre-filled with sample text, so you can tweak a proven regex instead of starting from scratch.
Frequently asked questions
Which regex flavor does this tester use?
JavaScript (ECMAScript) — the exact engine that runs in Node.js and every browser. Lookahead, lookbehind, named groups and Unicode property escapes all work; PCRE-only syntax such as possessive quantifiers or atomic groups does not.
Is the text I paste uploaded anywhere?
No. Matching runs entirely in your browser inside a Web Worker — nothing you type or paste ever leaves your machine, and the tester keeps working even with no internet connection.
What do the flags g, i, m, s and u mean?
g finds every match instead of stopping at the first; i ignores letter case; m makes ^ and $ match at the start and end of each line; s lets the dot match newline characters; u enables full Unicode handling, including \p{…} property escapes.
Why does it say execution was killed after 2 seconds?
Your pattern most likely triggers catastrophic backtracking: nested quantifiers such as (a+)+ force the engine to try an exponential number of paths. The tester runs patterns in a Web Worker and kills any run after 2 seconds so the page never freezes — rewrite the pattern with lazy quantifiers or remove the nested repetition.