Find & Replace
Find and replace text with regex + capture groups. Live preview, match count, browser-side.
Find and replace text with full regex + capture groups. Live preview, match count, browser-side.
Find & Replace is the classic text editing operation — find every occurrence of a pattern and replace it with another string. Pickrack supports plain-text search and full JavaScript regex with capture groups, case-insensitive matching, multiline mode, and global vs single-replace options.
Use it for: data cleaning (trim email addresses, normalize phone numbers), bulk URL updates, CSV transformations, code refactors that don't need a real IDE, removing tracking parameters from URL lists, swapping placeholders in email templates.
Free, no signup, browser-side. Your input never leaves your tab — important when working with private data (customer emails, internal URLs, log files that may contain PII).
Key features
- Plain or regex search — Toggle 'Regex' to treat the find pattern as a JavaScript regular expression. Off = literal string (special chars auto-escaped).
- Capture groups — In regex mode use
(group)in find +$1 $2in replace. E.g.,(\w+)@example\.com→[email protected]rewrites all emails. - Live match count — See how many matches will be replaced before you copy the result.
- Case-sensitive toggle — Default is case-insensitive. Toggle off for exact-case matching.
- Multiline + global — Multiline mode makes
^and$match line boundaries. Global mode replaces all occurrences vs just the first. - Browser-side only — Input and output stay in your tab. No upload, no logging.
How to use
- Step 1: Paste your text — Anything — a list of emails, a CSV row, a paragraph, a log file.
- Step 2: Type Find + Replace patterns — Plain text works as-is. For regex, toggle Regex on and use full JS regex syntax.
- Step 3: Tune flags — Most cases: case-insensitive ON, Replace all ON. For one-time replacement, turn Replace all OFF.
- Step 4: Copy or Swap in — Copy result, OR click 'Swap in' to put the output back into the input field for a follow-up replace.
When to use
- Email domain migration — find
@oldcompany.com→ replace@newcompany.comacross 10,000 records - URL normalization — strip
?utm_*=tracking params via regex\?utm[^&]*→ empty - Phone format —
(\d{3})-(\d{3})-(\d{4})→($1) $2-$3for US format - Code refactor — rename a function across a copied codebase snippet
- Markdown link cleanup —
\]\([^)]*\?\w+=[^)]*\)→ simpler form - Whitespace normalization — find
\s+→ replaceto collapse multiple spaces
Frequently asked questions
What regex flavor does this use?
JavaScript regex — the same engine browsers use for String.replace(). Supports character classes, quantifiers, lookahead, lookbehind (in modern browsers), Unicode properties (\p{...}). Does NOT support some PCRE features like recursive patterns. Most use cases work identically.
How do I escape special characters in plain mode?
You don't have to — when Regex is OFF, Pickrack auto-escapes all regex special chars. So searching for (test) in plain mode finds the literal text (test), not a capture group.
What's $1 $2 in replace?
Capture group backreferences. In regex mode, parentheses in 'Find' create capture groups. $1 in 'Replace' inserts the first group's match, $2 the second, etc. Up to $9, plus $& for the entire match. Example: find (\w+) (\w+) + replace $2 $1 swaps two words.
Why no preview highlighting?
v1 doesn't highlight matches in-place (would require a code editor component, ~100KB extra). Workaround: read the match count + diff input vs output visually. Highlighted preview is on the roadmap.
How does Multiline mode change behavior?
By default, ^ matches only the start of the entire string and $ only the end. Multiline mode makes them match start/end of each line. Useful for line-based patterns like 'comment out every line starting with TODO': find ^TODO (multiline ON) → replace // TODO.
What's the input size limit?
No hard limit but the browser textarea + regex engine slows down past ~10MB of text. For larger files, use a CLI tool like sed or perl -pe.
Related tools
Regex Tester
Test regular expressions live with match highlighting and capture groups. Supports JavaScript regex flags.
Sort Lines
Sort text lines alphabetically, numerically, by length, naturally, or shuffle. Optional dedup + blank filter.
Remove Duplicate Lines
Dedupe lines while preserving order. Case-sensitive option, whitespace trimming, keep-first vs keep-last.