About the Case Converter
A case converter rewrites text into a chosen letter-casing style without changing the underlying words. This tool supports the full set of common conventions: UPPERCASE, lowercase, Title Case, Sentence case, camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, and inverted case. Conversion is purely a string transformation and happens instantly as you type — paste once, copy any version.
Case-conversion problems show up everywhere in software and writing. Programmers convert between casing conventions when refactoring code or generating identifiers across languages with different style rules; writers normalise headlines and lists; data engineers clean inconsistent CSV exports where one team typed names in ALL CAPS and another used title case.
The naming conventions you'll see in code
Most programming style guides specify a single casing for each kind of identifier. JavaScript and Java use camelCase for variables and PascalCase for classes. Python and Ruby use snake_case for variables and PascalCase for classes. Rust uses snake_case for functions and PascalCase for types. CSS uses kebab-case for class names and properties. C/C++ macros and environment variables traditionally use CONSTANT_CASE. Converting an identifier from one ecosystem to another is a frequent and tedious task; this tool does it in one click.
Title Case versus Sentence case
Title Case capitalises the first letter of every major word (typically all words except articles, short conjunctions, and short prepositions). It is used for book titles, article headings, and proper-noun-heavy lists. Sentence case capitalises only the first word and any proper nouns within. Most house style guides prefer sentence case for UI labels and form headings because it reads more naturally; Title Case remains standard for editorial headlines in U.S. journalism.
How to use the Case Converter
Paste your source text
Drop the text you want to re-case into the input box. The original is preserved while every variant is computed.
Choose the target casing
Each variant appears in its own box with a one-click copy button. There is no "Convert" button to press — every casing is shown simultaneously.
Copy the result
Click the copy icon next to the variant you want. The transformed string is placed on your clipboard.
Worked examples
Example 1
Input: Hello World From Toolbox
Result: helloWorldFromToolbox
camelCase — common for JavaScript and Java variable names.
Example 2
Input: hello world from toolbox
Result: hello-world-from-toolbox
kebab-case — used by CSS class names and URL slugs.
Example 3
Input: helloWorldFromToolbox
Result: hello_world_from_toolbox
snake_case — typical Python and Ruby variable naming. The tool correctly detects internal capitals and inserts separators.
Real-world use cases
- Refactoring an identifier across programming languages with different conventions.
- Cleaning inconsistent product or person names imported from a spreadsheet.
- Generating URL slugs from article titles for static site generators.
- Producing CONSTANT_CASE keys for environment variables and configuration files.
- Rewriting headlines for editors who prefer sentence case over Title Case.
Tips & common mistakes
- For programming identifiers, prefer the explicit camelCase, snake_case, or kebab-case outputs — Title Case may include unwanted spaces or punctuation.
- Title Case rules vary slightly by style guide (AP, Chicago, MLA). The tool uses a widely accepted set: capitalise everything except articles, short conjunctions, and short prepositions of four letters or fewer.
- Inverted case (FLIPS THE case OF EVERY LETTER) is mostly a novelty, but is handy for quickly testing case-insensitive matching in search code.
Frequently asked questions
Does Title Case work with non-English text?
It handles diacritics (é, ñ, ü) correctly because JavaScript's Unicode-aware string methods are used. Languages without an upper/lower distinction (Chinese, Japanese, Korean, Arabic, Hebrew, Hindi) pass through unchanged.
Will it preserve acronyms like NASA or HTML?
When converting to camelCase, snake_case, or kebab-case, acronyms are normalised to the surrounding case style — NASA becomes nasa, Nasa, or NASA depending on the variant. There is no universal correct behaviour here; if you need to preserve acronym casing, edit the output manually after conversion.
Why does my snake_case output have leading underscores?
That usually happens when the input starts with a capital letter. Several conventions (Python's "_private", JavaScript's "_internal") treat a leading underscore as meaningful, so it is preserved rather than silently stripped.
Is there a length limit?
The tool handles documents up to several hundred thousand characters without lag. Beyond that you may notice typing latency; in that case, work in smaller chunks.
Related tools
Last updated: June 2026 · All processing happens locally in your browser.