Skip to content
epitometool

Case converter

Text utilities

camelCase, snake_case, kebab-case, Title Case and more.

Updated

Input

Choose a case

Output

  • EnterCopy output
  • KClear input

Quick start

How to convert between case styles

Paste any input, click a case style, copy the result.

  1. Step 1
    Paste your text

    Drop in camelCase, snake_case, kebab-case, free-form sentences — the tokeniser handles mixed input.

  2. Step 2
    Pick a target case

    Click any of the 16 case tiles. The output updates live and shows an example of that style.

  3. Step 3
    Copy the result

    Hit Copy or press ⌘/Ctrl+Enter to grab the converted text from the output pane.

In-depth guide

Case converter: camelCase, snake_case, kebab-case and 13 more

Convert between 16 case styles in one click. Paste any input — code, variable names, blog titles, free-form sentences — pick a target case, and copy. Useful for renaming variables across paradigms, normalising slugs, generating consistent constants, or just turning a headline into a URL.

The case styles, with examples

StyleExampleWhere it's used
camelCasehelloWorldJavaScript / TypeScript variables and functions; Java methods.
PascalCaseHelloWorldClasses in most OO languages; React component names; C# everything.
snake_casehello_worldPython, Ruby, Rust functions; PostgreSQL / MySQL columns.
kebab-casehello-worldURLs, CSS classes, HTML attrs, npm package names, CLI flags.
SCREAMING_SNAKEHELLO_WORLDConstants in C-family languages, environment variable names.
dot.casehello.worldi18n message keys, Java package fragments, configuration files.
path/casehello/worldFilesystem-style identifiers, route paths.
Title CaseHello WorldHeadlines, product names, navigation labels.
Sentence caseHello worldModern UI microcopy; Material Design and Apple's HIG prefer it.

How the input is parsed

We insert spaces at every case boundary first — fooBarBAZ becomes foo Bar BAZ — then split on any non-alphanumeric character. That's why all of these feed into the same word list:

  • helloWorld
  • hello-world
  • HELLO_WORLD
  • Hello World
  • hello.world

The output you get depends only on the target style you click — not on how the input was written.

Tips and pitfalls

  • Acronyms in PascalCase are ambiguous: XMLParser vs XmlParser. Microsoft's .NET guidelines pick the second form for ≥3-letter acronyms; Java picks the first. This tool emits the first form because that's what tokenises round-trip-cleanly.
  • Locale-sensitive cases (Turkish İ/ı) use the browser's default locale. If you need Turkish lowercase, set the page locale or run the conversion in Node with an explicit locale.
  • Existing punctuation in your input is discarded by the tokeniser. Strip emoji, quotes and parentheses before pasting if you need them preserved.

Frequently asked questions

Does this tool send my text anywhere?

No. Case conversion runs entirely in your browser. DevTools → Network will show zero requests during use — paste your code with confidence.

What input formats does it accept?

Any. The tokeniser handles camelCase, PascalCase, snake_case, kebab-case, ALL_CAPS, dot.case, path/case and plain English sentences — including mixed input with numbers and punctuation.

What's the difference between camelCase and PascalCase?

Both glue words together. camelCase lowercases the first letter (`userName`); PascalCase capitalises it (`UserName`). JavaScript variables and functions conventionally use camelCase; class names and React components use PascalCase.

When should I use snake_case vs kebab-case?

snake_case for Python, Ruby and most database columns. kebab-case for URLs, CSS classes, file names on the web and many CLI flags. They convey the same meaning — choice is a matter of language/ecosystem convention.

What is SCREAMING_SNAKE_CASE for?

Constants. Most languages (C, Java, JavaScript, Python, Ruby, Go) treat ALL_CAPS_WITH_UNDERSCORES as a strong visual cue that the value never changes after definition.

Why does Sponge case look different every time?

Each character's case is randomised independently, so the output changes per click — that's the whole joke. If you need a stable scramble for tests, lock in one result and reuse it.

Keep exploring

More tools you'll like

Hand-picked utilities that pair well with the one you're on — all free, client-side, and zero-signup.