Text Tool

Free Text Case Converter Online

Convert text to UPPERCASE, lowercase, Title Case, Sentence case, camelCase, PascalCase, snake_case, kebab-case, dot.case, and tOGGLE cASE instantly.

Instant 100% Client-Side No Login
PROCESSINGLOCAL
LIMITNONE
PRIVACYBROWSER-ONLY

Input

Output โ€” UPPERCASE

Ten ways to case text, and why they exist

"Changing the case" sounds trivial, but there are really two different jobs hiding in this tool, and they serve two different audiences. The first four cases are for humans reading prose. UPPERCASE shouts โ€” good for a short label or acronym, terrible for a sentence (all-caps is measurably slower to read). lowercase flattens everything, handy for normalising text or a deliberately casual style. Title Case capitalises the first letter of each word for headings and titles. Sentence case capitalises only the first letter of each sentence, the way normal writing works โ€” useful for fixing text that was pasted in all-caps or with erratic capitalisation.

The other six are for code and identifiers, where a "case" isn't a style choice but a rule the language or system enforces. camelCase (myVariableName) is the JavaScript/Java convention for variables and functions. PascalCase (MyClassName) is the same idea with the first letter capitalised, used for class and component names. snake_case (my_variable) is standard in Python, Ruby, and database columns. kebab-case (my-css-class) is what CSS classes, URL slugs, and HTML attributes want. dot.case (config.section.key) shows up in config files and namespaces. And tOGGLE cASEflips every letter's case โ€” a novelty for stylised text rather than a real convention. Ten formats, one paste, instant switch between any of them.

The developer cases, and why they're not interchangeable

For anyone writing code, casing isn't cosmetic โ€” it's syntax and convention rolled together. You can't put a space in an identifier, so every language settled on a way to join words visibly: capital letters at the boundaries (camelCase, PascalCase) or a separator character (snake_case, kebab-case, dot.case). Using the wrong one isn't just ugly; it can be flat-out wrong. A CSS class written in camelCase won't match a kebab-case selector; a Python variable in camelCase violates the language's style guide and looks alien to every other Python developer; a database column in kebab-case will often need awkward quoting to query. Each ecosystem has a strong default, and matching it is part of writing code that fits in.

That's exactly where a converter earns its place. The most common real use is moving a name from one world to another: you have an API field in snake_case and need the matching camelCase property for your TypeScript model, or a component name in PascalCase that needs a kebab-case file name. Rather than retyping and risking a typo, you paste the identifier, tap the target case, and copy. The tool understands existing casing too โ€” feed it myVariableName and it correctly splits it into "my / variable / name" before rejoining as my_variable_name or my-variable-name, so round-tripping between conventions works rather than mangling the word.

How it detects word boundaries โ€” and where that has limits

For the developer cases, the tool has to work out where one word ends and the next begins before it can rejoin them in a new style. It does this by splitting on three signals: whitespace, existing separators (underscores, hyphens, dots), and the lowercase-to-uppercase transitions inside camelCase or PascalCase. That's why user_id number and userIdNumberboth break cleanly into the same words. It's a pragmatic approach that handles the vast majority of real identifiers and multi-word phrases correctly.

It's worth being honest about the edges, though, because no simple tokeniser is perfect. Punctuation that isn't a recognised separator is kept as-is: convert "Price: $50 (Off!)" to snake_case and you'll get price:_$50_(off!) rather than a stripped-down slug โ€” if you want punctuation removed, the slug generator is the better tool for that job. Acronyms can also surprise you: a name like parseHTMLhas no lowercase-to-uppercase break inside "HTML", so it's treated as one chunk. And the human cases (UPPERCASE, lowercase, Title, Sentence, toggle) deliberately operate on the raw text and preserve your spacing and punctuation exactly, because for prose you almost never want words merged. Knowing which mode reshapes structure (the developer cases) versus which only changes letters (the human cases) tells you what to expect from any given conversion.

Everyday uses beyond code

Plenty of the value here has nothing to do with programming. The single most common fix is rescuing text that came in the wrong case: a heading someone typed in ALL CAPS, a sentence with random capitalisation from a bad copy-paste, a title that needs consistent Title Case. Instead of deleting and retyping โ€” and probably introducing a typo โ€” you paste it, pick the case, and copy the corrected version. For anyone who edits text regularly, that's a genuine time-saver, especially on long passages where manual fixing is tedious and error-prone.

Writers use Title Case to standardise headlines and Sentence case to fix shouty pasted text. Students clean up notes copied from slides or PDFs that arrive in inconsistent casing. Marketers normalise product names and campaign titles. Data folks tidy column headers and labels before importing a spreadsheet. And because the conversion is live and the whole thing runs on multi-line input, you can drop in a big block of text and reshape all of it at once rather than line by line. It's a small utility, but it removes a specific, repetitive annoyance that otherwise eats a surprising amount of time.

A quick map of which case goes where

If you're ever unsure which format a given context wants, a few conventions are near-universal and worth memorising. JavaScript and TypeScript variables, object properties, and functions use camelCase; their classes, React components, and type names use PascalCase. Python and Ruby variables and functions use snake_case, and Python classes use PascalCase. CSS classes, HTML attributes, and URL paths use kebab-case. Environment variables and constants are typically UPPER_SNAKE_CASE (uppercase then snake). Configuration keys and namespaced settings often use dot.case. File names lean on kebab-case or snake_case depending on the ecosystem.

These aren't arbitrary โ€” they're shared agreements that let code from thousands of people fit together, and editors, linters, and other developers all expect them. Following the convention of the language you're in is one of the cheapest ways to make your code look like it belongs. When you're integrating two systems that disagree โ€” say a snake_case API feeding a camelCase frontend โ€” a converter is the fastest way to bridge them without hand-editing every identifier, which is exactly the kind of repetitive, typo-prone task worth handing to a tool. Keep this tool open in a tab while you work and the switch becomes a paste, a tap, and a copy rather than a mental gear-change every time you cross a boundary.

A note on the two cases people misuse

Two of the formats are worth a specific warning. Title Case here capitalises the first letter of everyword, which is the simple mechanical rule โ€” but strict editorial title case (as in the AP or Chicago style guides) actually leaves small words like "a", "the", "of", and "and" lowercase unless they start the title. If you're formatting a headline to a specific style guide, use this as a fast first pass and then lowercase those connecting words by hand; the tool gives you the mechanical version, not the editorial one, and it's better to know that than to assume it followed a style guide it doesn't.

The other is UPPERCASE for emphasis in body text. It's tempting because it's loud, but all-caps is genuinely harder to read in a run of sentences โ€” the uniform letter shapes remove the word-shape cues your eye relies on, so long all-caps passages slow readers down and can read as shouting. Reserve it for short labels, acronyms, and the occasional single word, and use bold or italics for emphasis in real sentences. The tool will happily uppercase a whole paragraph; whether you should is a different question.

How it runs, and what "private" means here

Every conversion runs in your browser with plain JavaScript โ€” splitting words, changing letter case, and rejoining them are all fast local string operations. Your text is never sent anywhere to be converted; there's no server behind this tool, and it would keep working with your connection off. For text that's often unpublished โ€” variable names from private code, draft headlines, internal labels โ€” that local processing is a real benefit: nothing you paste becomes a request to a remote server.

The honest caveat is the one that applies to any tool on an ad-supported page: "the conversion is local" is true, but "the page contacts nothing" is not, because like every page here it loads standard analytics and ads, which are ordinary web requests. So the accurate claim is the narrow, real one โ€” your text is converted in your browser and never transmitted for processing โ€” rather than a blanket "100% private, nothing ever leaves your device." For changing the case of some text, local processing is exactly the privacy the task calls for.

How to Use

1

Type or paste your text in the input box.

2

Click on any case format button to convert instantly.

3

Click Copy to copy the converted result to your clipboard.

Features

10 case conversion modes including developer-friendly formats
Real-time conversion as you type
Supports camelCase, PascalCase, snake_case, kebab-case, and dot.case
Toggle case for fun inverted text
100% client-side processing for full privacy

Common Questions

About Text Case Converter

Convert text between 10 different case formats including UPPERCASE, lowercase, Title Case, Sentence case, camelCase, PascalCase, snake_case, kebab-case, dot.case, and tOGGLE cASE. Essential for developers renaming variables and writers formatting headlines.

Also known as: uppercase lowercase, change text case, title case converter, capitalize text.

Processing Note

Text Case Converter runs in your browser, so the input you enter is processed locally on this page and is not uploaded to a ToolMintX account.

Tool Limits

Text tools can transform and inspect content, but they do not know the full publishing context, house style, legal meaning, or audience expectations.

Explore More