A regex should read like a sentence.
— not look like your fr.*ak/i\n/g password.
A Mac-native visual regex builder with AI. Drag blocks. Ask in English. Test against real engines.

Try it right here.
The actual app, running in your browser. Drag blocks from the palette, or paste a regex into the field at the top. Click the frame to expand full-screen.
![Hand-drawn date-regex sketch on a sticky note: three boxed sub-patterns labelled YEAR (4 digits), MONTH (0[1-9] or 1[0-2]), and DAY (0[1-9] or [12] digit or 3[01]) joined by dashes.](/sketch-date-pattern.jpg)
The drawing, made live.
I found myself drawing the regex every time — on paper, on whiteboards, in the corner of a notebook. ^, a bubble for "any word character", an arrow into a group, with the English sentence scribbled underneath so I wouldn't lose what I meant.
RegexPilot is that drawing, made live. The bubbles you draw become the pattern, the arrows become the rail, and the natural-language caption you mumble to yourself sits right there in the Breakdown panel.
Stop decoding regex in your head.
Drag blocks from a categorised palette, connect them on a railroad track, and see a plain-English breakdown of the whole pattern while you work.
- Drag-and-drop builder with palette categories for characters, anchors, groups, lookarounds.
- Inspector panel for precise edits on any node without touching the source string.
- Breakdown tree that explains every part in plain English, bidirectionally linked to the rail.
- Undo / redo, copy / paste, drag-to-reorder — every affordance you already know.
\bWord boundary.Position at the edge of a word.\wWord.Letters, digits, underscore.*Quantifier.Zero or more.@Character.Matches “@”.[Character set.One of:a-zRange.“a” to “z”.+Quantifier.One or more.]\.Escaped character.Matches “.”.[Character set.One of:a-zRange.“a” to “z”.{2,}Quantifier.Two or more.]\bWord boundary.Position at the edge of a word.AI drafts. You direct.
Describe a pattern in plain English and get a working draft in seconds. The visual editor is how you catch what the AI got almost right — before it ships to production.
- Generate from a prompt — "match UK postcodes, optional space" → a draft, not a StackOverflow rabbit hole.
- Explain any pattern — paste legacy regex, get a plain-English breakdown grouped by intent.
- Spot the assumptions — every pill shows what it matches. If the AI assumed 4 digits when you meant 1–4, you see it immediately.
- Authentic engines for Java, Ruby, C#, PHP — so "worked in ChatGPT" actually means "works in production".
- Bring your own key for OpenAI, Claude, Gemini, DeepSeek, Qwen, Mistral, Groq, OpenRouter, xAI (Grok) — or any OpenAI-compatible endpoint.
- Or run fully offline — any OpenAI-compatible local runtime works: LM Studio, Ollama, llama.cpp, or LocalAI. Point RegexPilot at the localhost port and go.
^[A-Z]{1,2}[0-9][A-Z0-9]? [0-9][A-Z]{2}$M11AA). One drag: make the space optional with \s? — fixed.21 regex flavors. Authentic engines where they matter.
Every flavor routes to the real engine its production code uses — not a JavaScript polyfill pretending to be Python. Switch flavors from the toolbar; the same pattern tells you exactly what each engine does with it.
JavaScript / TypeScript
Python
Java
Scala · Kotlin · Groovy · Clojure
C# / .NET
Ruby
PHP
Go / RE2
Rust
Perl
Swift
Shell (grep / sed / awk)
Elixir
R
Dart
MySQL 8
PostgreSQL
- freeJavaScript & TypeScript via in-process
regress. No license, no install. - bundledSidecar binary inside the .app, or the in-process engine is bit-identical to the language's own (PostgreSQL → Spencer ARE from postgres source; MySQL → PCRE2+UCP for ICU equivalence; Elixir/R → libpcre2; Dart → ES2018 via
regress). - systemUses a CLI present on every macOS install —
/usr/bin/perl,grep,sed,awk.
Test and trust.
Three ways RegexPilot catches the thing you would have shipped broken.
Live match testing
Paste sample text, see every match and capture group highlighted as you build. Multi-cursor selection maps one-to-one back to the AST.
Visual replace builder
Compose the replacement as draggable pill blocks ($1, literal text, case transforms). No guessing at back-reference syntax per flavor.
Authentic engines
Your Java regex tested against real java.util.regex, Ruby against embedded CRuby, C# against the .NET runtime. No polyfill surprises.
From idea to regex in three steps.
Drag or describe
Pick blocks from the palette and connect them, or type what you want in plain English and let AI generate a starting pattern.
Test and refine
Paste sample text, flip the flavor selector, watch every match light up. Tweak individual nodes in the inspector panel.
Export and integrate
Copy the regex, export a code snippet in your target language, send a railroad SVG to your team docs, or open it straight from VS Code.
A starter library, yours to extend.
50 hand-picked patterns out of the box — email, URL, IPv4/v6, ISO-8601 dates, credit cards, password rules, log parsing, stack trace lines, plus flavor-specific examples for Dart, MySQL, PostgreSQL, shell tools, Python, Java, Ruby, C#, PHP, Perl and Rust — and your own library grows alongside them.
Light, dark, and every shade between.
Auto-follow macOS, pick a curated community theme, or import your own as JSON. Semantic pill colors stay intact — the theme recolors the app chrome, not the regex-kind palette.
@, one or more letters, a dot, at least two more letters, end of line.Drag to compare.
Integrations that don't make you switch apps.
VS Code extension Planned for v1.1
Right-click any regex, hit Visualize, see the railroad in a side panel. CodeLens hover shows the plain-English summary inline.
Raycast plugin Planned for v1.1
Test any pattern against a blob of text without leaving your launcher. Quick-copy the result straight to clipboard.
PNG / SVG export
One-click export the railroad diagram for documentation. Vector SVG for crisp docs, raster PNG for pull-request comments.
Roadmap.
What's shipped and what's queued. No secrets, no "coming soon" never-arrives.
Shipped in v1.0 beta
- Visual AST builder — drag-and-drop, railroad diagram, inspector panel
- Breakdown tree — plain-English explanation, bidirectional hover with the rail
- Authentic engines as native sidecars: Java (GraalVM AOT), Ruby (CRuby 3.4), C# (.NET 9 NativeAOT), PHP (static-php-cli), Python (python-build-standalone), Perl (system
perl), Swift (NSRegularExpression), Go (Go stdlib), PostgreSQL (systempsql, Spencer ARE), MySQL (systemmysql, ICU), Dart (systemdart, V8 Irregexp), Elixir (systemelixir, Erlang :re), R (systemRscript, gregexpr perl=TRUE), Shell (system grep / sed) - In-process engines:
regress(ES2018 JS/TS),regexcrate (Rust / Go / RE2),pcre2-rust(fallback when a system tool is missing) - 21 flavor dispatch with per-flavor syntax support — see the list below
- Match + replace testing with live highlighting, multi-cursor, visual replace builder
- AI chat: OpenAI, Claude, Gemini, DeepSeek, Qwen, Mistral, Groq, OpenRouter, xAI (Grok) — BYO key; plus LM Studio / Ollama / llama.cpp server / LocalAI for offline
- Voice dictation via Whisper Tiny (offline ggml, multilingual)
- Pattern library: 50 curated patterns across 12 flavors, folders, tags, import/export JSON
- Code export for 21 languages (JS, TS, Python, Java, C#, PHP, Ruby, Go, Perl, Rust, Swift, Scala, Kotlin, Groovy, Clojure, Elixir, R, Dart, MySQL, PostgreSQL, Shell)
- PNG / SVG railroad export
- Themes: 9 community palettes + import JSON + system-follow
- Deep links (
regexpilot://), share menu, iCloud Drive-ready file format - AI API keys secured in macOS Keychain — persist across reinstalls, tamper-resistant
v1.1+ queued
- VS Code extension — right-click any regex literal to open the railroad in a side panel, with CodeLens hover for the plain-English summary
- Raycast plugin — test any pattern against a blob of text without leaving your launcher, quick-copy result to clipboard
- Dedicated upgrade prompt when selecting a paid flavor — clear buy or trial CTA, no Settings detour
- Per-flavor language packs (€3 each) — buy just the flavors you need; any pack unlocks system-tool flavors free
- Quick-reference sidebar — always-visible regex cheat-sheet
- Opt-in setting: use system-installed Python / Ruby / Perl / … when present on your machine
- Flavor translator — paste a regex, pick source + target flavor, get a semantic-equivalent rewrite with a portability report
- Step-through debugger (v1.2) — visualise how the engine processes input, backtracking highlighted
- Unit-test builder with
test { match 'foo'; reject 'bar' }-style blocks - Community pattern gallery
- Community theme gallery — share and install color palettes contributed by other users
- Community language packs (v1.2) — translations curated and reviewed by native speakers, hosted in a public GitHub repo
- Test against your own environment — point RegexPilot at a dev container or a running interpreter on your machine, regex goes to that engine
- User-requested — vote on GitHub
Regex you can see — early.
Free during the beta. €19 when v1.0 ships — one purchase, no subscription, all 21 flavors. Free updates throughout v1.x; v2 owners get a 50% upgrade discount. Real feedback shapes v1.0, and early testers who send thoughtful bugs get launch-week perks.