Case Converter
Paste text once and get every capitalisation style at the same time — sentence, title, camel, snake, kebab and a few playful ones — each with its own copy button.
Works with accents, Korean and emoji. Nothing is uploaded.
the · quick · brown · fox · jumps · over · the · lazy · dog📚 Everyday
THE QUICK BROWN FOX JUMPS OVER THE LAZY DOGthe quick brown fox jumps over the lazy dogThe Quick Brown Fox Jumps Over the Lazy DogThe quick brown fox jumps over the lazy dog💻 Code identifiers
theQuickBrownFoxJumpsOverTheLazyDogTheQuickBrownFoxJumpsOverTheLazyDogthe_quick_brown_fox_jumps_over_the_lazy_dogTHE_QUICK_BROWN_FOX_JUMPS_OVER_THE_LAZY_DOGTHE_QUICK_BROWN_FOX_JUMPS_OVER_THE_LAZY_DOGthe-quick-brown-fox-jumps-over-the-lazy-dogthe.quick.brown.fox.jumps.over.the.lazy.dogthe/quick/brown/fox/jumps/over/the/lazy/dog🎈 Playful & cleanup
tHe QuIcK bRoWn FoX jUmPs OvEr ThE lAzY dOgTHE QUICK BROWN FOX JUMPS OVER THE LAZY DOGgod yzal eht revo spmuj xof nworb kciuq ehtthe quick brown fox jumps over the lazy dogHow to use the case converter
- Type or paste your text into the box at the top. Every conversion below recalculates on each keystroke.
- Find the row you want. They are grouped into Everyday styles, Code identifiers and a Playful & cleanup set.
- Press Copy on that row to put the result on your clipboard.
- Press ↩️ Use to send that result back into the input box, which lets you chain conversions — clean up the spacing first, then convert to kebab-case, for example.
- The blue banner shows the word split the identifier styles are working from, which is the quickest way to see why a conversion came out the way it did.
How the conversions work
Everything starts with one step: splitting your text into words. The identifier styles then rejoin those words with a separator and a capitalisation rule, which is why they all agree with each other.
| Style | Example output |
|---|---|
| UPPER CASE | HELLO WORLD AGAIN |
| lower case | hello world again |
| Title Case | Hello World Again |
| Sentence case | Hello world again |
| camelCase | helloWorldAgain |
| PascalCase | HelloWorldAgain |
| snake_case | hello_world_again |
| SCREAMING_SNAKE_CASE | HELLO_WORLD_AGAIN |
| kebab-case | hello-world-again |
| dot.case | hello.world.again |
| path/case | hello/world/again |
CONSTANT_CASE is listed separately because many style guides name it that way, but it is the same output as SCREAMING_SNAKE_CASE.
The splitter applies four rules in order. Separators — space, tab, newline, _, -, ., / and any other punctuation — end a word. A lowercase letter or digit followed by an uppercase letter starts a new word, which is what breaks helloWorld apart. An uppercase letter followed by an uppercase letter and then a lowercase one marks the end of an acronym, which is what turns XMLHttp into XML and Http. Apostrophes are removed rather than treated as separators, so don't stop becomes dontStop instead of donTStop. Digits stay attached to the letters before them, so html5Parser gives html5_parser rather than html_5_parser.
Worked examples
Renaming a database column. You have customerFirstName from an ORM and need the underlying column. Paste it in and snake_case gives customer_first_name. Paste that result back with ↩️ Use and camelCase returns customerFirstName exactly — the split is stable in both directions, which is what makes it safe to script around.
Cleaning up a pasted headline. Copying from a PDF often produces THE FUTURE OF REMOTE WORK with doubled spaces. Press ↩️ Use on the Remove extra spaces row to get THE FUTURE OF REMOTE WORK, then read Title Case: The Future of Remote Work. Note that of stays lowercase because it is a short preposition in the middle, while The is capitalised because it is the first word.
Normalising an API name. parseJSONBody splits as parse, JSON, Body. PascalCase returns ParseJsonBody, snake_case returns parse_json_body and kebab-case returns parse-json-body. All three describe the same three words, which is exactly what you want when the same concept has to appear as a Java method, a Python function and a URL slug.
Tips and common mistakes
- Sentence case is a demolition tool. It flattens everything to lowercase before rebuilding, so run it on shouting text, not on a paragraph full of proper nouns.
- Title Case cannot read your mind about acronyms. A word already in all capitals is preserved, so type
NASArather thannasaif you want it kept. - Kebab-case makes good URL slugs, but not complete ones. Accented letters survive the conversion because they are valid in modern URLs, though some older systems still prefer ASCII; transliterate first if you need to support them.
- Check the word split before trusting a long identifier. The banner under the input shows exactly which words the code styles will use. If it looks wrong, add a space or hyphen where you want the break.
- Chain, do not retype. Remove extra spaces first, then convert. Doing it the other way round can bake doubled separators into the result.
- aLtErNaTiNg and ReVeRsE are for fun. Alternating case flips only characters that actually have a case, so spaces, digits and Korean characters do not consume a turn. Reverse works on whole characters, so emoji and accented letters come back intact rather than shredded.
Glossary
- camelCase – first word lowercase, later words capitalised, no separators.
- PascalCase – every word capitalised, no separators; also called UpperCamelCase.
- snake_case – lowercase words joined by underscores.
- kebab-case – lowercase words joined by hyphens; the usual shape for URL slugs and CSS classes.
- Acronym boundary – the point where a run of capitals stops being an abbreviation and the next word begins.
Privacy
Your text never leaves your browser. All sixteen conversions are plain string operations executed by JavaScript on your own device — there is no upload, no server round trip and no logging. That makes the tool safe for unreleased product names, customer data, internal identifiers and anything else you would not want to paste into a hosted service.
Frequently asked questions
How does the tool know where one word ends and the next begins?
It treats spaces, underscores, hyphens, dots and slashes as separators, and it also splits at the boundary between a lowercase letter and an uppercase one. A run of capitals followed by a capitalised word is treated as an acronym, so "XMLHttpRequest" becomes XML, Http and Request rather than one long blob.
What happens to acronyms in camelCase?
They are normalised to a single leading capital, so "getHTTPResponse" becomes "getHttpResponse" and "parseJSONBody" becomes "parseJsonBody". That follows the Google and Microsoft naming guidelines and has the practical benefit of being reversible, because the round trip back to snake_case produces exactly what you started with.
Does Title Case follow a specific style guide?
It uses the convention shared by AP, Chicago and most newsrooms: capitalise every word except short articles, conjunctions and prepositions, and always capitalise the first and last word. Words already written in all capitals are left alone so that "the NASA moon landing" keeps NASA intact.
Why did Sentence case lowercase my brand name?
Sentence case deliberately lowercases everything before re-capitalising sentence openings, because its main job is rescuing text that arrived in all caps. Proper nouns are not detected. If you only need the first letter fixed, convert and then retype the one or two names by hand.
Does it handle accented letters and Korean?
Yes. Word splitting uses Unicode letter categories rather than the ASCII alphabet, so "Café Noël" becomes "café_noël" in snake_case and Korean text splits on spaces as expected. Korean, Japanese and Chinese have no upper or lower case, so those characters pass through unchanged.
Is my text sent anywhere?
No. Every conversion is a pure string operation performed in your browser tab. Nothing is uploaded, nothing is stored on a server, and closing the tab discards everything you typed.
Related tools
- Word CounterPaste or type your text and watch the counts update instantly — words, characters, reading time, keyword density and a readability score, all computed in your browser.
- Text DiffPaste two versions of anything — a paragraph, a config file, a contract clause — and see exactly what changed, line by line and word by word, without uploading a thing.
- Lorem Ipsum GeneratorMake as much placeholder text as your mockup needs — in classic Latin or three alternative flavours — with optional HTML tags and a seed that reproduces the exact same text every time.
Last reviewed: