🔀 Spintax Variant Generator

Paste spintax, see exactly how many combinations it really holds, catch the broken spin groups, then export the most different variants as a CSV or a text file. Free, no signup.

Syntax: {a|b|c} picks one option. Groups can nest: {Hi|{Hello|Howdy}} there. Write \{ or \| for a literal bracket or pipe.

Capped at the number that actually exists.
Longer variants are dropped before selection.
Before you run this, the honest part. Different wording is not protection. It will not get you past a spam filter, a platform rate limit or an account review, and no tool can promise that. What this page gives you is an accurate combination count, a check that your spin groups are not silently broken, and a list of variants picked to be as unlike each other as your own options allow. Read them before you use them, because spintax happily produces sentences no human would write.

✍️ Do not want to write the brackets yourself?

Paste the plain message and get a spintax draft back. You review it before it goes anywhere near the generator.

This one button leaves your browser. The message you paste below is sent to Castwright's free AI proxy to be marked up, and the proxy passes it to a third party AI provider. Do not paste anything confidential here. Everything else on this page, the parsing, the counting, the variants and the two downloads, runs in your browser, and the spintax in the editor above is never sent anywhere. The page does log an anonymous view count and how many variants a run produced, as every page here does, but never your text.
Up to 2,500 characters at a time. Marked up spintax is two to three times longer than the message it came from, so a longer paste comes back cut off half way through.

🎬 Plus PDF signing, batch watermarking, transcription & 300+ more free toolsOpen Castwright

What spintax is

Spintax is a tiny markup for writing many versions of one message at once. {Hi|Hey|Hello} there is three messages written on one line. Nest the braces and the count multiplies fast, which is exactly the problem: by the time a message has a dozen spin groups nobody can tell how many real versions exist, whether every group still has more than one option, or whether the versions coming out are actually different from each other.

Why the variant list matters more than the syntax

Expanding spintax is the easy half and plenty of free pages do it. The half that decides whether the output is any use is picking which versions to keep. Take two hundred versions of a thirty word message where one adjective changed, and they are, word for word, about ninety percent identical. Filtering on a similarity cutoff is useless here: set it loose and you keep everything, tighten it slightly and two hundred rows collapse to three.

So this page does not filter on a cutoff. It removes exact duplicates, then repeatedly picks the version that is furthest from everything already picked, which is a well known way of spreading a selection out across the available space. Then it reports the honest number: how different the two closest versions in your export still are. If that number is low, your spin groups are too shallow, and no tool can fix that except you writing more options.

The checks it runs

Exact combination count, computed from the parse tree rather than guessed. A warning for any spin group left with a single option, which is the most common silent authoring mistake and quietly does nothing. Empty options from a stray double pipe. Options repeated inside the same group. Unclosed brackets, with the position. Merge fields, meaning a bracket with no pipe inside it such as {first_name} in curly mode or [first_name] in square mode, are left untouched by default, so your sender still fills them in.

Getting a file out

You get variants.csv with one variant per row under a single variant column, ready to paste into a spreadsheet or a message column, and a plain .txt of the same list. When the combination space is small enough the tool enumerates every version so the unique count is exact. When it is astronomically large it draws random versions by index instead of trying to build a list that would never fit in memory, and tells you which of the two it did.

Honest limits

Varied wording is not a deliverability feature, an anti ban feature or a compliance feature, and anyone selling it as one is overselling it. Send volume, list quality, permission and where you got the address matter enormously more. Machine assembled sentences also read as machine assembled surprisingly often, so treat the export as a shortlist of drafts to read and cut down, not as finished copy. The AI markup helper is the only part of this page that sends your text anywhere. The page also logs an anonymous view count and, after a run, the number of variants generated, exactly as every page here does. Your spintax, your loaded file and the exported rows are never part of that.