Two transforms that look similar and are not
aLtErNaTiNg ignores whatever case you typed and imposes a pattern from the first letter onward: down, up, down, up. Type the same words in caps or lowercase and you get the same result, because the input's own case is discarded.
iNVERSE does the opposite: it looks at each letter and flips it. A normally typed sentence — one capital at the front, lowercase after — comes back as a lowercase first letter followed by shouting, which is exactly what a stuck Caps Lock produces. Because every letter is flipped relative to its own state, running iNVERSE twice returns the original text.
| Input | aLtErNaTiNg | Starting from a capital | iNVERSE |
|---|---|---|---|
| don't stop believing | dOn'T sToP bElIeViNg | DoN't StOp BeLiEvInG | DON'T STOP BELIEVING |
| Hello, World! 123 | hElLo, WoRlD! 123 | HeLlO, wOrLd! 123 | hELLO, wORLD! 123 |
| a-b c | a-B c | A-b C | A-B C |
| straße | sTrAßE | StRaSSe | STRASSE |
| ЖУРНАЛ и текст | жУрНаЛ и ТеКсТ | ЖуРнАл И тЕкСт | журнал И ТЕКСТ |
The last two rows are there on purpose. straße shows the German sharp s doing what it
always does — it has no single-character capital, so an alternation that lands on it produces SS and
the string gets longer. The Cyrillic row shows that alternation is not an ASCII trick: any character
with an upper and lower form takes part.
The rule, traced character by character
Most alternating-case implementations use the character's position in the string to decide its case. That is wrong, and you can see it the moment a space or an apostrophe appears: the pattern breaks and you get two capitals or two lowercase letters in a row across the gap.
The correct rule advances the counter only on characters that have a case. Here is
don't stop traced position by position — 10 characters, of which
8 are cased:
| Position | Character | Has a case? | Turn | Output |
|---|---|---|---|---|
| 0 | d | yes | 0 | d |
| 1 | o | yes | 1 | O |
| 2 | n | yes | 2 | n |
| 3 | ' | no | — | ' |
| 4 | t | yes | 3 | T |
| 5 | ␣ | no | — | ␣ |
| 6 | s | yes | 4 | s |
| 7 | t | yes | 5 | T |
| 8 | o | yes | 6 | o |
| 9 | p | yes | 7 | P |
Read the turn column across the apostrophe. The letter before it and the letter after it hold
consecutive turns, so the alternation carries straight on without resetting. The same happens
across the space between the two words — which is why dOn'T sToP keeps its rhythm all the
way through instead of stuttering at every gap.
What people use it for
Almost all of it is tone of voice. Alternating caps became the internet's shorthand for repeating someone's words back at them mockingly, and it works because it forces the reader to sound the sentence out in a sing-song register instead of reading it flat. It is a rhetorical device with a keyboard shortcut.
There are two practical uses hiding behind the joke. It is a decent quick test of a font, because it puts every letter's upper and lower form side by side and makes optical weight differences obvious. And it is a useful stress test for text-handling code: if a pipeline mangles alternating case, it is probably making assumptions about case that will break on real multilingual input too.
One caution worth stating: alternating text is genuinely hostile to screen readers, which may announce it letter by letter, and to search, which will not match it. It belongs in a reply on social media, not in a document heading. If you need a heading that is emphatic rather than sarcastic, uppercase is the tool for that.
Getting your text back
Both transforms are destructive in the sense that matters: once text is alternating, the original capitalisation is gone, and applying sentence case afterwards gives you a clean-looking sentence, though not the one you started with. iNVERSE is the exception — running it a second time restores the original exactly, provided the text contains no ß.
In every other case, use Undo. It stores the exact text from before each conversion and steps back through them one at a time, so you can experiment with all twelve conversions and still get your original paragraph back untouched.