Regular Expression Tester
Test JavaScript regular expressions in your browser. Find matches, numbered and named capture groups, and match positions. Try global, case-insensitive and multiline flags.
Your result will appear here.
How to test a regular expression
- Paste the text you want to search into the input field.
- Enter the pattern without enclosing / delimiters. Put flags such as g or gi in the flags field.
- Run the test and review each match, its positions and capture groups. Edit the pattern or flags and test again.
Working with Regular Expression Tester
The engine uses JavaScript regex syntax, not PCRE or Python syntax. Positions are UTF-16 offsets, as in JavaScript. Matching runs in a separate worker with a hard timeout, so catastrophic backtracking can be cancelled.
Extracting codes and numbers with capture groups
- Input
Input AU-42 NZ-7 Regular expression (?<code>[A-Z]{2})-(\d+) Flags g- Result
{ "matches": [ { "value": "AU-42", "index": 0, "end": 5, "captures": [ "AU", "42" ], "groups": { "code": "AU" } }, { "value": "NZ-7", "index": 6, "end": 10, "captures": [ "NZ", "7" ], "groups": { "code": "NZ" } } ], "truncated": false }
Questions about Regular Expression Tester
Should I enter /pattern/g or just the pattern?
Enter the pattern itself, such as (?<code>[A-Z]{2})-(\d+), and enter g separately as a flag. Do not add JavaScript string quotes or double backslashes as you would in source code. This uses your browser’s JavaScript RegExp engine, not Python, PCRE or .NET; syntax and support can differ.
What do g, i, m, s, u, v and y mean?
g searches for multiple non-overlapping matches; i ignores letter case; m makes ^ and $ work at line boundaries; s lets . match line terminators. u and v enable Unicode-aware modes and cannot be combined. y requires the next match to start exactly at the current position. Newer flags depend on browser support.
How do capture groups and match positions work?
(…) captures by number, while (?<name>…) also gives the group a name. An unmatched optional group is reported as null. Positions start at zero; the end position is exclusive. Like JavaScript, offsets count UTF-16 units, not visible characters: an emoji may occupy two. Zero-width matches have identical start and end positions.
Why are there no matches, or why does the test stop?
Check the pattern, flags, line breaks and letter case. Without g or y, the tool returns only the first match. It shows at most 1,000 matches and marks truncated results. Large inputs or expensive backtracking can trigger size or time limits; the browser worker is stopped rather than leaving the page frozen. Try a smaller sample or simplify nested quantifiers.
Are my files, tokens or text uploaded?
No. These tools process your input in your browser. The website serves the page and its code, but your input is not sent to a conversion server or saved in an account.
Related tools for your next step
- Unicode Inspector & Escape Converter
Inspect Unicode code points, UTF-8 bytes and UTF-16 units, or convert JavaScript Unicode escapes to readable text.
- Text Diff Checker
Compare two texts by line, word or character. Highlight additions and removals while retaining spaces and line breaks.
- JSON Formatter, Minifier & Validator
Format, minify and validate JSON with exact large-number preservation, indentation options and recursive key sorting.
Common tasks and examples
- JSON Minifier
Compact JSON to one line while keeping string contents and exact numbers.
Explore all developer tools
Encoding & Files
Move between text, bytes, URLs and embedded images without changing your original data.
Base64 Encoder & Decoder
Encode UTF-8 text to Base64 or decode standard and URL-safe Base64. Control padding and line wrapping.
Base64URL Encoder & Decoder
Convert text to URL-safe Base64 with the - and _ alphabet. Encode or decode unpadded Base64URL strings.
Image to Base64
Convert PNG, JPEG, GIF, WebP, SVG and other recognised image files to Base64 Data URIs in your browser.
Base64 to Image
Decode a Base64 image or Data URI, preview supported image types and download the original image bytes.
File to Base64
Encode any file to a Base64 string, with optional Data URI prefix, padding and MIME line wrapping.
Base64 to File
Turn Base64 strings and Data URIs back into downloadable files without changing the decoded binary data.
URL Encoder & Decoder
Encode and decode URL components, complete URLs and form values. Handle percent escapes and spaces correctly.
HTML Entity Encoder & Decoder
Convert text and Unicode characters to HTML entities, or decode named and numeric HTML character references.
Unicode Inspector & Escape Converter
Inspect Unicode code points, UTF-8 bytes and UTF-16 units, or convert JavaScript Unicode escapes to readable text.
Data & Text Inspection
Read structured data, inspect tokens and understand exactly what changed.
JSON Formatter, Minifier & Validator
Format, minify and validate JSON with exact large-number preservation, indentation options and recursive key sorting.
JWT Decoder
Read JWT headers and payloads, inspect expiry and activation times, and view claims without sending your token anywhere.
Text Diff Checker
Compare two texts by line, word or character. Highlight additions and removals while retaining spaces and line breaks.
Hashes, IDs & Schedules
Check file integrity, generate identifiers and make sense of times and recurring schedules.
MD5 Hash & File Checksum
Calculate an MD5 hash for text or a local file, and compare it with an expected checksum.
SHA-1 Hash & File Checksum
Calculate SHA-1 hashes for UTF-8 text or files and compare the result with an expected checksum.
SHA-256 Hash & File Checksum
Generate SHA-256 hashes for text or files and check a downloaded file against its published checksum.
SHA-512 Hash & File Checksum
Calculate SHA-512 text and file hashes locally and compare full hexadecimal checksums.
CRC32 Checksum Calculator
Calculate standard CRC-32 checksums for text or files and compare eight-character hexadecimal results.
HMAC Generator
Generate HMAC-SHA-1, HMAC-SHA-256 and HMAC-SHA-512 with a UTF-8 or hexadecimal secret key.
UUID & GUID Generator
Generate random UUID v4 or time-ordered UUID v7 identifiers, individually or in batches.
Unix Timestamp Converter
Convert Unix seconds, milliseconds and ISO 8601 dates. View the same instant in UTC and any IANA time zone.
Cron Expression Parser
Validate five- or six-field Cron expressions and list upcoming runs in an IANA time zone, including daylight-saving changes.
Cron Expression Generator
Build a Cron expression from time fields or common presets, then preview its next scheduled times in your chosen zone.
Your input and files are processed on your device. Keep sensitive results out of shared clipboards and use a trusted device for private keys and tokens.