0chars

Case Converter

Transform text between 12+ case formats instantly. All processing happens in your browser.

Enter text to convert...
Text Cleaning
Conversion Options

Enter text on the left to see conversions

12+ case formats available

Runs entirely in your browser. No uploads. Your files stay private.

How the Case Converter Works

Case Converter transforms text across thirteen capitalization formats: UPPERCASE, lowercase, Title Case, Sentence case, camelCase, PascalCase, snake_case, CONSTANT_CASE, kebab-case, dot.case, path/case, alternating case, and inverse case. The whole engine is built on native JavaScript String methods (toUpperCase, toLowerCase, split, replace) plus a small set of RegExp patterns — there is no heavy NLP library or cloud round-trip involved.
Conversions run on a 250 ms debounce inside a useMemo hook, so each keystroke does not retrigger thirteen passes over the input. For text above three thousand characters, the UI automatically switches from a render-everything grid to a single-format dropdown to keep the main thread responsive on lower-powered devices.
Title Case applies an English style guide: the first and last word are always capitalized, while a small set of articles, conjunctions, and short prepositions (a, an, the, and, but, or, for, on, at, to, from, by, with, in, of, up, as, vs, via) stay lowercase when they appear in the middle. You can disable that rule with a switch if your style guide prefers strict capital-each-word.
The developer-style conversions (camel, Pascal, snake, kebab, dot, path, CONSTANT) work by stripping non-word characters, splitting on whitespace and existing case boundaries, then re-joining with the target separator. Because they rely on toLowerCase and toUpperCase, they inherit JavaScript's locale-insensitive Unicode behavior — fine for ASCII identifiers but worth knowing if you feed it Turkish text, where the dotted-i and dotless-i rules differ from the default mapping.
An optional accent-folding pass maps roughly fifty Latin diacritics (a-acute, e-grave, c-cedilla, n-tilde, German sharp-s, ae and oe ligatures, and so on) to their ASCII equivalents using a hand-curated lookup table. This is useful when generating slugs or filenames from titles that originally contained French, Spanish, or Scandinavian characters. Non-Latin scripts (Cyrillic, Arabic, CJK) are left untouched.
Output can be copied per format, copied all together, or exported as a JSON object keyed by format name (useful for piping into a build script). A plain .txt download bundles every variant with a separator. Because everything runs through navigator.clipboard and Blob URLs, no network request is ever made — confidential copy, source code, and unreleased product names stay in the tab.
Per-line mode applies the chosen converter independently to each line, which matters for spreadsheet columns or lists where each row should be capitalized on its own (otherwise sentence-case logic spans the whole blob and only the very first letter is touched).

Common Use Cases

01

Style-guide enforcement

Convert headlines to AP-style Title Case while keeping a, an, the, of, and other short words lowercase per the standard.

02

Identifier renaming

Switch a list of variable names between camelCase, snake_case, and CONSTANT_CASE to match a new language or framework convention.

03

URL slug generation

Lowercase a title, fold accented characters, strip punctuation, and join with hyphens for a clean kebab-case slug.

04

CSV column normalization

Apply per-line conversion across a pasted column of names or labels so each row is independently sentence-cased.

Frequently Asked Questions

Because the AP and Chicago style guides keep articles, short conjunctions, and short prepositions lowercase unless they begin or end the title. The list (a, an, the, and, but, or, for, on, at, to, from, by, with, in, of, up, as, vs, via) follows that convention. Toggle 'Keep small words lowercase' off if your house style capitalizes every word.
The input is normalized by replacing non-word characters with spaces, then existing capital letters are treated as word boundaries. The resulting tokens are joined with no separator (camel/Pascal), an underscore (snake), a hyphen (kebab), a dot (dot), or a slash (path). The first letter is uppercased or lowercased based on the target format.
Native toUpperCase and toLowerCase work on Unicode code points, so Greek, Cyrillic, and most accented letters case-fold correctly. The optional 'Convert accents' switch goes a step further and maps about fifty Latin diacritics to plain ASCII via a lookup table — useful for slugs but lossy for actual reading text.
Yes. JavaScript's default toLowerCase is locale-insensitive, which means Turkish dotted-i and dotless-i are not handled the way native Turkish speakers expect. If you need locale-correct case folding, run the output through toLocaleLowerCase('tr-TR') in a small script. ASCII and most Western European text behave as expected.
No. Every conversion runs synchronously inside the browser tab. There is no fetch call, no WebSocket, no service worker that ships your text off-device. You can disconnect from the internet after the page loads and the tool keeps working.
Sentence case capitalizes only the first letter of each sentence (anything following a period, exclamation point, or question mark plus whitespace). Title Case capitalizes most words in a heading, with the small-word exceptions described above. Sentence case is for body prose; Title Case is for headlines.
There is no hard cap, but conversions run on every keystroke. Above three thousand characters the UI automatically switches from rendering all thirteen formats at once to a single dropdown so the main thread does not stall. Tens of thousands of characters work fine on modern hardware.
It splits the input on newline characters, runs the chosen converter on each line independently, then rejoins with newlines. That matters for spreadsheet columns or lists, where Sentence case applied to the whole blob would only capitalize the very first character.
Programming-style identifiers cannot contain punctuation, so camel, Pascal, snake, kebab, dot, path, and CONSTANT modes intentionally remove anything that is not a letter, digit, or whitespace before joining the tokens. UPPERCASE, lowercase, Title Case, and Sentence case keep punctuation intact.
Yes. The Batch Export panel copies all thirteen formats as plain text or as a JSON object keyed by format name. You can also download a .txt file with each variant separated by a divider. The JSON output is ready to paste into a config file or build script.

Advertisement