Text Formatting

Clean up text copied from Word, PDFs, email and chat, and convert identifiers between naming styles. Remove invisible characters, extra spaces and broken line breaks; switch between camelCase, snake_case, kebab-case and Title Case; convert line endings; and strip Markdown down to plain text — all in your browser.

Action

Common tasks

About text tools

Pasted text carries junk you cannot see. Zero-width spaces, non-breaking spaces, byte-order marks and soft hyphens break string comparisons, search and code. PDFs add hard line breaks in the middle of sentences, and word processors swap straight quotes for curly ones that break JSON and shell commands. The Text Cleaner removes each of these with a toggle, in a safe fixed order, and tells you exactly how many characters it changed.

The Case Converter is built for developers renaming identifiers: paste a list of names and convert each line to camelCase, PascalCase, snake_case, CONSTANT_CASE, kebab-case and more, with acronyms handled sensibly. Every variant is shown at once so you can copy the one you need.

Formattr’s text scope is deliberately narrow: cleanup, case and line endings. Sorting, deduplicating and counting lines are different jobs and are not part of Formattr.

Frequently asked questions

What counts as an invisible character?

Zero-width space, zero-width joiner and non-joiner, word joiner, byte-order mark, soft hyphen and Unicode bidirectional control characters. They take no visible space but change how text compares and renders.

Will cleaning change my paragraphs?

Only if you ask. Fix line breaks joins lines inside a paragraph but keeps blank lines between paragraphs; Remove all line breaks puts everything on one line.

Can I see what was removed?

Yes. The highlight toggle marks every removed or changed character in the input with a dotted underline, and the status line counts invisible characters, extra spaces and line breaks separately.

How are acronyms handled in case conversion?

Words are split on case changes, digits, spaces and punctuation, so HTTPResponseCode becomes http_response_code in snake_case and httpResponseCode in camelCase.

More categories