Developer Tools · Free browser tool
Regex Tester
Test and debug your regular expressions in real-time with live syntax highlighting, group captures, and flag toggles.
Regular expression
Pattern between slashes · flags toggle on the right.
Test string
Paste the text you want to match against.
107 characters
Highlighted matches
Matching regions are marked in amber below.
Match details
3 results| # | Match | Index | $1 | $2 | $3 |
|---|---|---|---|---|---|
| 1 | hello@example.com | 14–31 | hello | example | com |
| 2 | support@quickatools.com | 35–58 | support | quickatools | com |
| 3 | alice@site.org | 92–106 | alice | site | org |
Frequently Asked Questions
What do the g, i, and m flags actually do?
The g (global) flag finds every match in the string instead of stopping after the first one. The i (ignore case) flag makes the pattern case-insensitive, so /hello/i matches "Hello" and "HELLO". The m (multiline) flag changes how ^ and $ behave — with m on, they match the start and end of each line rather than only the start and end of the entire string. Toggle them live in this tool to see the difference immediately.
What's the difference between a match and a capture group?
A match is the full substring that satisfied your pattern. Capture groups are the pieces of that match you intentionally "saved" by wrapping parts of the pattern in parentheses — for example, /(\d{4})-(\d{2})-(\d{2})/ matching "2026-08-07" produces one match ("2026-08-07") and three capture groups ($1 = "2026", $2 = "08", $3 = "07"). Capture groups are what you use in replacements or when extracting structured fields from text.
How does JavaScript's RegExp engine differ from other regex flavors?
JavaScript uses a flavor based on ECMAScript, which supports lookarounds, named groups, and Unicode property escapes (with the u flag), but does not support some features found in PCRE or .NET such as recursive patterns or possessive quantifiers. Patterns you test here behave exactly the way they will in browser or Node.js code — so if a pattern works in this tool, it will work the same way in your JavaScript application.
Is it safe to test regexes against real source code or sensitive data here?
Yes. Pattern compilation, matching, highlighting, and report generation all run locally using the browser's built-in RegExp engine — nothing you paste is uploaded, logged, or sent to a server. That makes it safe to debug signup-form validation patterns, log-parsing rules, or redaction regexes against real (even sensitive) sample text without exposing that text to a third-party service.
Tools You Might Also Need
Explore other free browser-based utilities for sellers, creators, and professionals.
- Developer Tools
JSON Formatter & Validator
Format, beautify, validate, and minify your JSON data instantly with local syntax error highlighting.
Try Tool - Developer Tools
Base64 Encode/Decode
Encode text to Base64 format or decode Base64 strings back to text instantly with full UTF-8 support and zero data leakage.
Try Tool - Developer Tools
UUID/GUID Generator
Generate high-quality cryptographically secure UUID v4 tokens instantly with bulk options and zero server tracking.
Try Tool
Why Live Regex Feedback Beats Guess-and-Reload Debugging
Regular expressions are dense by design — a missing escape, a greedy quantifier, or the wrong flag can silently match the wrong thing (or nothing at all). Debugging them by pasting into production code and reloading is slow and risky. A live tester that highlights every match and shows each capture group as you type collapses that feedback loop to milliseconds, so you can see exactly what ^, $, or a nested group is doing before the pattern ever ships.
That feedback also matters for security-sensitive rules. Signup form validators, log redaction patterns, and content filters often get tested against real sample data — emails, phone numbers, or fragments of user input. Sending that text to a third-party regex playground means trusting their server with content you may not want to leave your machine. This tool never uploads anything: pattern compilation, matching, highlighting, and the match report all run through the browser's built-in RegExp engine.
Because the engine is the same ECMAScript implementation your browser and Node.js use, a pattern that works here will behave the same way in your JavaScript application — including how flags like g, i, and m change matching, and how capture groups are numbered. Use the amber highlight pane to spot unintended matches, and the match table to verify that $1, $2, and friends extract the fields you expect.
Need to tidy sample JSON before testing a parse rule? Use the JSON Formatter & Validator . Decoding an encoded token first? Try Base64 Encode/Decode . Generating fixture IDs for a test suite? The UUID/GUID Generator runs just as locally as this tool.