Case Converter (camel, snake, kebab, Title, etc.)
Type any text and see ten common case transformations side by side, each with a copy button. Useful for renaming variables, file names, headings, slugs, and dataset cleanup.
hello world example
HELLO WORLD EXAMPLE
Hello World Example
Hello world example
helloWorldExample
HelloWorldExample
hello_world_example
hello-world-example
HELLO_WORLD_EXAMPLE
HELLO WORLD EXAMPLE
How it works
Where each style is used
camelCase: JavaScript and Java identifiers (myVariableName). PascalCase: classes and React components (UserProfile). snake_case: Python and Ruby variables (user_profile). kebab-case: URLs and CSS classes (user-profile). CONSTANT_CASE: environment variables and constants (USER_PROFILE).
Title Case: book and article titles, headings. Sentence case: most modern UI labels and headings — easier to read than Title Case for long strings. UPPERCASE: emphasis, abbreviations. lowercase: tags, labels, file names that need to be case-insensitive.
How the converter parses words
We split on whitespace, hyphens, underscores, slashes, and dots. We also split on the boundary between a lowercase letter and an uppercase letter (so 'helloWorld' splits into ['hello', 'World']) and between a letter and a digit. This handles most everyday cases including pasted code, slugs, and file paths.
Edge cases: all-caps acronyms ('XMLHTTPRequest') don't split cleanly without context, so we treat consecutive uppercase letters as a single word block and rely on the user to clean up if needed. For most everyday text — sentences, titles, dataset column names — the parser produces the result you expect.
Tips for code review and refactoring
When migrating between languages, paste a list of identifier names and copy out the converted version. snake-to-camel is the most common JavaScript-to-Python boundary; kebab-to-snake is common when refactoring HTML attributes into JS objects.
For SEO slugs, kebab-case is the standard — readable in URLs and Google treats hyphens as word separators (underscores are not). 'product-name' is preferable to 'product_name' for any user-facing URL path.
Frequently asked questions
›What if my input has acronyms like 'XML'?
Consecutive uppercase letters are treated as a single block. 'XMLParser' splits into 'XML' and 'Parser'. This works for most code; review and tweak by hand for edge cases.
›Why are URL slugs always kebab-case?
Hyphens are treated as word boundaries by Google's URL parser; underscores aren't. kebab-case URLs index more reliably for SEO.
›What's the difference between Title and Sentence case?
Title Case capitalizes most words ('The Quick Brown Fox'). Sentence case capitalizes only the first word and proper nouns ('The quick brown fox'). Modern UI tends to prefer sentence case.
›Does this support Unicode?
Yes — JavaScript's toLowerCase/toUpperCase are Unicode-aware. Diacritics and non-Latin scripts pass through correctly.
›Can I convert back?
Yes — paste any case-converted output back in and use a different conversion. Round-tripping camelCase ↔ snake_case is lossless.
›Why doesn't camelCase preserve acronyms in caps?
Conventionally, camelCase capitalizes only the first letter of each subsequent word. 'XmlHttpRequest' is preferred over 'XMLHTTPRequest' in modern style guides.
›Does the data leave my browser?
No. All transformations run locally.
›Is there a way to bulk-convert a list?
Paste your whole list at once. Each line is treated as a separate input within the same case style — convert, then split lines as needed.
Related tools
Last updated: