Transform text with powerful rules
Replace one word or phrase with another.
Swap individual letters throughout the message. Perfect for creating uwu-speak, accents, or custom letter substitutions. Add multiple letter pairs.
Add text to the beginning of every message.
Add text to the end of every message.
Wrap every word with characters on both sides.
Replace a word with asterisks or custom characters.
Make words starting with specific letters stutter. Choose which letters trigger the stutter effect.
Match patterns that repeat a specific number of times. Find "haha" (ha repeated 2x), or match exactly 4 digits like "2024".
Match any character from a set. Perfect for matching vowels, digits, or custom character groups.
Capture parts of text to reuse in the replacement. Great for reformatting or wrapping specific patterns.
Match text only if it's followed by (or not followed by) something else. The condition isn't included in the match.
Change the case of text: UPPERCASE, lowercase, Title Case, Sentence case, aLtErNaTiNg, or SpOnGeBoB style.
Reverse text - the entire message, just the word order, or each word's letters individually.
Convert words to #hashtags, @mentions, or add any custom prefix to words.
Match text at specific positions: start/end of message, start/end of words, or not at word boundaries.
Match specific character types: digits, whitespace, word characters, symbols, tabs, or newlines.
Split text on one character and join with another. Perfect for replacing spaces with underscores, etc.
Wrap text in Discord markdown: **bold**, *italic*, `code`, ~~strike~~, ||spoiler||, and more.
Add creepy glitch effects with combining characters. Choose light, medium, or heavy intensity.
Write your own regex pattern for advanced transformations. Enable "Auto-escape" to automatically escape special characters like . * ? so they match literally.
| Pattern | Matches | Example |
|---|---|---|
. | Any single character | c.t matches "cat", "cut", "c@t" |
\w | Word character (letter, digit, underscore) | \w+ matches "hello", "test123" |
\W | Non-word character (symbols, punctuation) | \W matches "!", "@", " " |
\d | Any digit (0-9) | \d+ matches "123", "42" |
\D | Non-digit | \D+ matches "abc", "!@#" |
\s | Whitespace (space, tab, newline) | \s+ matches spaces between words |
\S | Non-whitespace | \S+ matches "hello", "123" |
\t | Tab character | Matches tab characters only |
\n | Newline / line break | Matches line breaks |
| Pattern | Matches | Example |
|---|---|---|
^ | Start of text | ^Hello matches "Hello" only at start |
$ | End of text | bye$ matches "bye" only at end |
\b | Word boundary | \bcat\b matches "cat" not "category" |
\B | Not a word boundary | \Bcat matches "cat" in "bobcat" |
| Pattern | Matches | Example |
|---|---|---|
+ | 1 or more | a+ matches "a", "aaa" |
* | 0 or more | ab*c matches "ac", "abc", "abbc" |
? | 0 or 1 (optional) | colou?r matches "color", "colour" |
{n} | Exactly n times | \d{4} matches exactly 4 digits like "2024" |
{n,} | At least n times | \d{2,} matches 2 or more digits |
{n,m} | Between n and m times | \d{2,4} matches 2 to 4 digits |
| Pattern | Matches | Example |
|---|---|---|
(abc) | Capture group - use $1, $2 in replacement | (ha)+ matches "ha", "haha", "hahaha" |
(?:abc) | Non-capturing group | Groups without creating a capture |
a|b | Either a or b | cat|dog matches "cat" or "dog" |
[abc] | Any character in set | [aeiou] matches any vowel |
[^abc] | Any character NOT in set | [^0-9] matches non-digits |
[a-z] | Character range | [A-Za-z] matches any letter |
Lookarounds let you match based on what comes before or after, without including it in the match.
| Pattern | Matches | Example |
|---|---|---|
(?=abc) | Lookahead - followed by abc | \d+(?= dollars) matches "100" in "100 dollars" |
(?!abc) | Negative lookahead - NOT followed by abc | apple(?!pie) matches "apple" but not in "applepie" |
(?<=abc) | Lookbehind - preceded by abc | (?<=\$)\d+ matches "50" in "$50" |
(?<!abc) | Negative lookbehind - NOT preceded by abc | (?<!un)happy matches "happy" but not "unhappy" |
| Token | Inserts | Example |
|---|---|---|
$1, $2... | Captured group 1, 2, etc. | Pattern (\w+)@(\w+) with replacement $2::$1 |
$& | Entire match | Replacement [$&] wraps the match in brackets |
In Custom mode, click snippets to insert regex patterns into your rule. Toggle "Show Advanced" to reveal lookarounds, groups, and quantifiers.
In the Test panel, enable "Step-through" to see how each rule transforms the text. Great for finding which rule is causing issues.
Made a mistake? Use Undo (Ctrl+Z) and Redo (Ctrl+Y) to restore rules.
Share your rule sets with friends or back them up as JSON files.
โข Rules apply in order from top to bottom
โข Use the Test panel to preview your rules
โข Yellow highlighting shows what changed
โข Use โโ buttons to reorder rules
โข Your rules save automatically to browser storage
Made with โฅ by Lennox
notshawn0680 on Discord