nrtechstudio · text tools
Case Lab
The text case converter that shows every style at once
Paste or type any text once and watch it transform into all 11 case styles live — UPPERCASE, lowercase, Title Case, Sentence case, camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, aLtErNaTiNg, and InVeRsE. Writers use it to fix headings and rescue text typed with Caps Lock on; developers use it to convert naming conventions between JavaScript, Python, SQL, and CSS.
Convert your text
Type or paste below — all 11 conversions update live as you type.
↑ Your 11 converted versions will appear here the moment you type.
What each case does
Eleven styles, two audiences. The first four are for writing; the next five are developer naming conventions; the last two are for play.
UPPERCASE
Every letter capitalized. Used for headings, warnings, acronyms, and shouting on the internet.
hello world → HELLO WORLDlowercase
Every letter small. Cleans up shouty text and normalizes data before comparing or storing it.
HeLLo WoRLD → hello worldTitle Case
First letter of every word capitalized — the style of book titles, headlines, and H1 tags.
the quick brown fox → The Quick Brown FoxSentence case
Only the first letter of each sentence capitalized — normal prose. The fastest fix for Caps-Lock accidents.
HELLO WORLD. HOW ARE YOU? → Hello world. How are you?camelCase
First word lowercase, every next word capitalized, no separators. Variables and functions in JavaScript and Java.
user first name → userFirstNamePascalCase
Like camelCase but the first word is capitalized too. Class names in nearly every language.
user first name → UserFirstNamesnake_case
Words joined with underscores, all lowercase. Variables and functions in Python and Ruby; columns in SQL.
user first name → user_first_namekebab-case
Words joined with hyphens, all lowercase. URLs, slugs, CSS classes, and file names.
User First Name! → user-first-nameCONSTANT_CASE
snake_case in all caps. Constants and environment variables.
max retry count → MAX_RETRY_COUNTaLtErNaTiNg
Every other letter flipped, starting lowercase — the sarcastic "sponge case" / "mocking case" meme text. This alternating case generator only counts letters, so spaces and punctuation don't disturb the rhythm.
hello world → hElLo WoRlDInVeRsE
Swaps whatever case each letter already has — also called toggle case. hElLo becomes HeLlO.
hElLo WoRlD → HeLlO wOrLdLive stats
Characters, words, lines, sentences, and reading time (at 200 words per minute) update with every keystroke.
Characters count Unicode code points, so emoji count as one.Developer naming conventions guide
The same idea written four ways — which one is "correct" depends on the language. Paste any of these into the converter to jump between them.
| Convention | "user first name" becomes | Used for |
|---|---|---|
camelCase | userFirstName | JS/Java variables & functions |
PascalCase | UserFirstName | Class names |
snake_case | user_first_name | Python/Ruby variables, SQL columns |
kebab-case | user-first-name | URLs, CSS classes, file names |
CONSTANT_CASE | USER_FIRST_NAME | Constants, ENV variables |
| Language | Variables | Functions | Classes | Constants |
|---|---|---|---|---|
| JavaScript | camelCase | camelCase | PascalCase | CONSTANT_CASE |
| Python | snake_case | snake_case | PascalCase | CONSTANT_CASE |
| Java | camelCase | camelCase | PascalCase | CONSTANT_CASE |
| C# | camelCase | PascalCase | PascalCase | PascalCase |
| Ruby | snake_case | snake_case | PascalCase | CONSTANT_CASE |
| Go | camelCase | camelCase | PascalCase | camelCase |
| Rust | snake_case | snake_case | PascalCase | CONSTANT_CASE |
| CSS / URLs | kebab-case | — | — | |
| SQL | snake_case | — | — | |
Worked examples
Three real jobs, step by step.
Rescue a Caps-Lock email subject
- Paste
MEETING NOTES — Q3 PLANNING SESSIONinto the box. - Read the Sentence case card:
Meeting notes — q3 planning session. - Hit Copy on that card and paste it into your email.
- Touch up the one acronym by hand →
Meeting notes — Q3 planning session. Done in seconds instead of retyping.
Convert an API field from snake_case to camelCase
- Your Python backend sends
user_first_name, but the JavaScript frontend expects camelCase. - Paste it in — the camelCase card instantly shows
userFirstName. - Got an acronym like
XMLHttpRequest? It correctly becomesxmlHttpRequest, notxMLHttpRequest. - Paste a whole list of field names and convert them line by line in one go.
Turn a blog heading into a URL slug
- Paste your heading:
10 Tips for Better Sleep! - Read the kebab-case card:
10-tips-for-better-sleep— punctuation stripped, words hyphenated. - Copy it straight into your CMS slug field. Clean URLs, zero manual editing.
What people use it for
- Fixing Caps-Lock accidents. A paragraph typed in ALL CAPS becomes normal prose with one paste via Sentence case.
- Formatting headings. Draft titles in lowercase, then lift them to Title Case for articles, essays, and presentations.
- URL slugs. Turn any page title into a clean kebab-case slug for your CMS.
- Environment variables. Convert
max retry counttoMAX_RETRY_COUNTfor .env files and configs. - Refactoring across languages. Move identifiers between Python (snake_case) and JavaScript (camelCase) without retyping.
- Normalizing CSV data. Standardize a column of messy mixed-case values before importing to a database.
- Memes & social posts. aLtErNaTiNg case for sarcastic tweets and captions.
- Cleaning exports. Fix capitalization on data pulled from spreadsheets, forms, and email exports.
Why Case Lab
All 11 cases on one page — what makes it one of the best online case converters
- Type once, see everything. No dropdown, no re-clicking — every style renders live side by side. A genuine alternative to one-case-per-page converters like RapidTables' thin case tools.
- Acronym-aware.
XMLHttpRequest→xml_http_request, notx_m_l_http_request. - Private by construction. 100% client-side JavaScript. Nothing is uploaded, stored, or tracked.
- Live stats included. Characters, words, lines, sentences, and reading time update as you type.
- Copy per card, or everything. One click per result, one click for all 11, or download a .txt file.
- Free forever. No account, no limits, works offline once the page is loaded.
Frequently asked questions
What is a case converter?
A case converter is a free online tool that changes the capitalization pattern of your text in one click — without retyping it. Paste a paragraph, a heading, or a variable name, and instantly get UPPERCASE, lowercase, Title Case, Sentence case, camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, aLtErNaTiNg, or InVeRsE. Writers use it to fix headings and rescue text typed with Caps Lock on; developers use it to convert naming conventions between programming languages.
What is camelCase?
camelCase joins words with no separator, lowercases the first word, and capitalizes the first letter of every following word — like helloWorld or userFirstName. The capital letters in the middle look like a camel's humps, hence the name. It is the standard convention for variable and function names in JavaScript and Java. This tool's camelCase card also detects word boundaries inside existing camelCase text, so helloWorld stays helloWorld and XML HttpRequest-style acronyms split correctly (XMLHttpRequest becomes xmlHttpRequest).
What is snake_case?
snake_case joins words with underscores and lowercases everything — like hello_world or user_first_name. It is the standard convention for variables and functions in Python and Ruby, and for column names in SQL databases. CONSTANT_CASE (also called SCREAMING_SNAKE_CASE) is its uppercase sibling, used for constants and environment variables — like MAX_RETRY_COUNT.
What is the difference between camelCase and PascalCase?
The only difference is the first letter: camelCase starts lowercase (helloWorld) while PascalCase capitalizes every word including the first (HelloWorld). camelCase is used for variables and functions; PascalCase is used for class names in most languages (JavaScript, Python, Java, C#). Both cards in this tool convert from any input format — spaces, underscores, hyphens, or an existing camelCase string.
What is the difference between Title Case and Sentence case?
Title Case capitalizes the first letter of every word (The Quick Brown Fox) and is used for headings and book titles. Sentence case capitalizes only the first letter of each sentence and lowercases the rest (The quick brown fox), which is the style of normal prose. Note: this tool's Title Case capitalizes every word literally, including short words like "and" or "the" — it does not apply APA/Chicago small-word rules, so style-guide-perfect titles may need a quick manual touch-up.
When should I use snake_case vs camelCase?
Follow the language you are writing in: Python, Ruby, and Rust use snake_case for variables and functions; JavaScript, Java, and Go use camelCase. CSS classes, URLs, and file names use kebab-case; constants and environment variables use CONSTANT_CASE; class names almost everywhere use PascalCase. The most common real-world need is converting between them when a Python backend sends user_id but the JavaScript frontend expects userId — that is exactly what the developer cards on this page are for.
How do I convert camelCase to snake_case?
Paste your text into the box above — the snake_case card updates live, no button needed. helloWorld becomes hello_world automatically. The converter detects lowercase-to-uppercase boundaries and acronym runs, so XMLHttpRequest correctly becomes xml_http_request (not x_m_l_http_request), and separators like spaces, hyphens, and dots are treated as word breaks too.
How do I fix text typed with Caps Lock on?
Paste the ALL-CAPS text into the box and read the Sentence case card: it lowercases everything, then capitalizes the first letter of each sentence. "HELLO WORLD. HOW ARE YOU?" becomes "Hello world. How are you?" in one step. As a bonus, the tool restores the English pronoun "I" (so "i think" becomes "I think"). For headings rather than prose, use the Title Case card instead.
What is alternating case (sponge case / mocking case)?
Alternating case flips every other letter between lowercase and uppercase — hElLo WoRlD — and is also called sponge case or mocking case after the sarcastic SpongeBob meme. This tool starts with a lowercase letter (aLtErNaTiNg style) and only counts letters, so spaces, digits, and punctuation don't disturb the rhythm. InVeRsE case is its cousin: it swaps whatever case each letter already has.
Does this case converter work with non-English characters?
Yes. All conversions are Unicode-aware: accented letters convert correctly (héllo becomes HÉLLO), and special mappings like the German ß becoming SS in UPPERCASE work as defined by the Unicode standard. Word boundaries are detected across scripts, so mixed-language text converts sensibly. One caveat: case mapping follows standard Unicode rules, not language-specific ones (for example, the Turkish dotted İ).
Is my text sent to a server when I convert it?
No. This tool runs 100% in your browser with JavaScript — your text never leaves the page, is never uploaded, and is never stored. You can even disconnect from the internet after the page loads and every conversion still works. That makes it safe for proprietary code, unpublished manuscripts, and private notes.
How do I change text case in Excel or Microsoft Word?
In Microsoft Word, select your text and use the Change Case button (Aa) on the Home tab, or press Shift+F3 to cycle cases. In Excel, use the formulas =UPPER(A1), =LOWER(A1), or =PROPER(A1) for title-style capitalization. For anything those built-ins can't do — camelCase, snake_case, kebab-case, alternating case, or converting a whole exported list at once — paste the text into this tool instead.
What is the difference between this tool and a JSON key case converter?
This tool converts free text and prose into 11 case styles with live stats. If you need to rename the keys inside a JSON object (for example, converting an API response from snake_case keys to camelCase keys while keeping the structure valid), use our dedicated JSON key case converter at nrtechstudio.com/tools/json-key-case-converter/ instead — it understands JSON syntax and won't break your data.
Is this case converter free?
Yes — completely free, with no account, no sign-up, and no conversion limits. Every result card has its own copy button, you can copy all 11 conversions at once, or download them as a .txt file. Because everything runs locally in your browser, it also works offline once loaded.
How it works
Word detection
Words are detected at three kinds of boundaries: separators (spaces, punctuation, symbols), case transitions (a lowercase letter or digit followed by an uppercase letter, as in helloWorld), and acronym boundaries (a run of capitals followed by a capitalized word, as in XMLHttp → XML + Http). This is why converting from camelCase works as well as converting to it.
Sentence detection
Sentences end at . ? ! and …, including after closing quotes. Abbreviations like "e.g." will be treated as sentence ends — a known, documented limitation shared by every simple converter.
Honest notes
Title Case capitalizes every word literally; it does not apply APA/Chicago "small words stay lowercase" rules. Sentence case restores the English pronoun "I". Character counts use Unicode code points, so emoji count as one character. Reading time assumes 200 words per minute. Case mapping follows standard Unicode rules (so German ß becomes SS in UPPERCASE), not language-specific exceptions.