Pack Camo

Case Converter

Turn text into kebab-case, camelCase, snake_case, Title Case and ten more cases. Everything runs locally with zero file uploads.

In
Text · identifiers · lists
Out
14 cases
Text

Lower-case words joined by hyphens. URL slugs, CSS classes and file names.

Text

106 characters · 13 words · 5 lines

Result

kebab-case

the-quick-brown-fox-jumps-over-the-lazy-dog
user-profile-id
xml-http-request
background-color
max-retry-count

Pick a case, copy the result

Choose the case you need from the list and the text converts as you type. Switching to another case is instant and never touches what you typed, so turning one heading into a URL slug, a CSS class and a constant name is three picks from the same menu rather than three trips through a form.

What each case is for

lowercase
Everything in small letters. Email addresses, tags and quiet headings.
UPPERCASE
Everything in capitals. Labels, warnings and acronyms.
Title Case
Every word capitalised. Headlines, book and article titles.
Sentence case
Only the start of each sentence capitalised. Body text and UI copy.
camelCase
First word lower-case, the rest capitalised, no separator. JavaScript and Java variables, JSON keys.
PascalCase
Every word capitalised, no separator. Class names, types and React components.
snake_case
Lower-case words joined by underscores. Python, Ruby and database columns.
kebab-case
Lower-case words joined by hyphens. URL slugs, CSS classes and file names.
CONSTANT_CASE
Upper-case words joined by underscores. Constants and environment variables.
Train-Case
Capitalised words joined by hyphens. HTTP headers such as Content-Type.
dot.case
Lower-case words joined by dots. Config keys and translation keys.
path/case
Lower-case words joined by slashes. URL paths and folder names.
aLtErNaTiNg cAsE
Letters alternate between small and capital. Mocking tone, mostly.
iNVERSE cASE
Every letter flipped. For text typed with Caps Lock on by mistake.

How words are found

  • Spaces and punctuation split words. So do the hyphens, underscores, dots and slashes the other cases use, which is why any case can be converted into any other.
  • Case changes split words too. userProfileId becomes user, Profile and Id, and an acronym run stops before the word that follows it, so XMLHttpRequest becomes xml-http-request.
  • Each line is converted on its own. Paste a list of names, one per line, and the identifier cases give you back a list, not one very long name.
  • Prose cases leave the text alone. lowercase, UPPERCASE, Title Case and Sentence case only change letters, so punctuation, spacing and paragraphs come through untouched.

Frequently asked questions

How do I convert text to kebab-case?
Paste or type the text into the input and choose kebab-case from the "Convert to" list. Every word is lower-cased and joined with hyphens, so "Hello World Example" becomes hello-world-example. Press the copy button to take it.
What is the difference between camelCase and PascalCase?
Both join words without separators and capitalise each word. camelCase keeps the very first letter lower-case (userProfile), PascalCase capitalises it too (UserProfile). JavaScript variables usually use camelCase; classes and React components use PascalCase.
When should I use snake_case or kebab-case?
snake_case is the convention for Python variables, database columns and many JSON APIs. kebab-case is used for URL slugs, CSS class names and file names, where underscores are harder to read or are treated specially.
Does it work with accented letters and other alphabets?
Yes. Words are found using Unicode letter classes, so accented Latin, Cyrillic and Greek letters convert correctly. Scripts without upper and lower case, such as Chinese or Arabic, are kept as they are and still split on spaces and punctuation.
Is my text sent anywhere?
No. The conversion runs in your browser as you type, and nothing you paste leaves your device.