Text

Case Converter

Convert text or an identifier into every common naming style at once — camelCase, snake_case, kebab-case, and more. Recognizes word boundaries in camelCase/PascalCase, acronyms (XMLParser → XML + Parser), and around digits.

The tool detects word boundaries in any text or identifier — spaces, underscores, hyphens, camelCase/PascalCase boundaries, and abbreviations — and instantly converts the result into every common naming style.

Naming styles

Common uses

Things to keep in mind

Abbreviations (XMLParser, HTTPClient) are recognized as single words automatically, so conversion doesn't break them into individual letters.

Converting to lower case or UPPER CASE is irreversible — keep the original around if you'll need it back.

Article about this tool: Case Converter: why different naming styles exist

Frequently asked questions

Which case styles are supported?

The tool converts to camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, Title Case, Sentence case, lower case, UPPER CASE, dot.case, and path/case, all generated at once from a single input.

How does the tool detect word boundaries?

It spots case changes within camelCase and PascalCase, handles abbreviations like XMLParser by splitting them into XML and Parser, and separates digits stuck to letters to identify each word correctly.

Is the text I paste sent anywhere?

No, all conversion runs directly in your browser in JavaScript — nothing is transmitted to a server.

Why does letter casing matter for code at all?

In most programming languages, casing technically doesn't affect execution (except for identifiers in case-sensitive languages), but a consistent style is critical for readability and for linters, IDEs, and documentation generators, which often expect a specific style for a specific kind of entity.

Can I recover the original text after conversion?

Not always exactly. Converting to lower case or UPPER CASE is irreversible if the original had mixed casing — the information about which letters were originally capitalized is lost.

Articles: Text

Text Diff: how algorithms find the difference between two texts

How a diff algorithm finds the minimal set of changes between two versions of a text.

Regular expressions: basic syntax and common patterns

How to read a regular expression, and how greedy matching differs from lazy matching.

Sorting and deduplicating lines: why it matters

Why numeric sorting putting "10" before "9" is a mistake, and how to avoid it.

String Escape: why the same text needs escaping differently

Why the same quote character gets escaped differently in a JS string, JSON, and a shell command.

CRLF vs LF: why line ending characters still matter

Why a file written on Windows can show as "entirely changed" in git on Linux.

Counting characters and words: why it's not always trivial

Why an emoji or an accented character can count as several characters at once.

Lorem Ipsum: where the placeholder text came from and why it exists

Why designers deliberately use "nonsense" text instead of real content in mockups.

Slugify: turning arbitrary text into a URL

How a title like "Hello, World!" turns into a URL-safe string like hello-world.

Markdown: why plain-text syntax beat rich text editors

Why developers choose to write documentation in Markdown instead of a rich text editor.

Whitespace and invisible characters: the hidden cause of weird bugs

Why two strings that look identical can fail to match because of an invisible character.

Text Reverse: why "reversing text" is harder than it sounds

Why a naive string reversal can turn an emoji into unusable bytes.

Text frequency analysis: why count how often words repeat

How letter frequency in ciphertext helps crack the simplest substitution ciphers.