Skip to content
Allin

Remove repeated characters

Collapse runs of the same character into one (helllo → helo).

Remove repeated characters works straight from this page — free, instant, nothing to install. You will find it under Transform & clean, with Remove non-ASCII characters and Remove accents for the neighbouring cases.

How to use it

  1. Open the tool — no signup or install needed.
  2. Enter your input or adjust the available options.
  3. Get your result instantly, then copy or download it.

Frequently asked questions

What does Remove repeated characters do?

Collapse runs of the same character into one (helllo → helo).

When would I actually use this?

Cleaning up a paste before it goes anywhere: stripping duplicates from a list, normalising case, removing accents for a filename, or sorting lines.

What is the most common mistake?

Sorting text as if it were ASCII. Accented letters land after Z in a byte sort, which puts "Zurich" before "Émile" and produces a list no reader will accept.

How is Remove repeated characters different from Remove non-ASCII characters?

They sit next to each other but answer different questions: Remove non-ASCII characters is the one to open when you need it to strip every character outside the standard ASCII range from your text. Pick whichever matches what you're starting from — both are free.

Is there a tool for the next step?

Remove accents is the closest one after this: Strip accents and diacritics from text, turning é into e and ü into u.

What else is worth having open alongside it?

Remove blank lines and Remove duplicate lines — they come up in the same task often enough to be worth a second tab.

Where do the figures come from?

Transformations use the browser's Unicode-aware string handling, so case changes and sorting respect the locale rather than byte order. Nothing is truncated: what comes out is the whole of what went in.

Further reading

All guides
ExplainerRemoving Accents Breaks Search — Until You Do It on Both SidesFolding diacritics is a normalisation step, and normalisation only works when the same function runs on the index and on the query. NFC against NFD with the code points shown, and the letters — ø, ł, ß, œ, ı — that survive the strip untouched.How-toCleaning Messy Text: The Order of Operations That Actually MattersStrip tags before decoding entities, trim before deduplicating, collapse whitespace last. Three orderings run in Node, a nine-step pipeline in the right sequence, and the invisible characters — U+00A0, U+200B, U+FEFF — that survive every naive cleanup.ExplainerEmoji Are Harder Than They Look: Why "Just Strip the Emoji" Has No One-Line AnswerOne visible emoji can be one code point or fourteen UTF-16 units. We ran three popular regexes against a real sentence and each broke differently — one deleted the digits. Here is why, which Unicode property answers which question, and the grapheme-cluster rule that actually works.ExplainerWhat a Palindrome Checker Has to Decide Before It Can AnswerCase, whitespace, punctuation and diacritics: four policies, six real sentences, and the answer changes with each one. Then the harder half — reversing a string is itself undefined, and code-unit reversal breaks emoji and detaches accents, demonstrated in Node.ExplainerDetecting the Language of a Text, and Why Short Texts FailMeasured, not asserted: 90 short real phrases across six languages, none declined and 68 right — 76%, falling to 64% under sixteen letters. Four of the wrong answers came back at 100% confidence.ExplainerSentence Case and Title Case: The Rules Differ by LanguageEnglish title case has three different cutoffs depending on the style guide. French, Spanish, Portuguese and Italian have none at all. German capitalises every noun. The tool knows about none of this — here is exactly what it does.