Free Case Converter — UPPER, lower, camelCase & More

Paste text and convert between UPPERCASE, lowercase, Title Case, Sentence case, camelCase, PascalCase, snake_case, and kebab-case.

Result

      

Why programming languages disagree on naming style

Every naming convention here solves the same underlying problem — identifiers can't contain spaces — but different ecosystems settled on different solutions, and the choice usually isn't arbitrary. Python's style guide (PEP 8) mandates snake_case for variables and functions; Java and JavaScript conventionally use camelCase for the same purpose, and PascalCase for class/type names specifically to visually distinguish a type from a variable at a glance. CSS class names and HTML attributes use kebab-case largely because hyphens are simply allowed in those contexts while underscores can be finicky, and because CSS itself is case-insensitive for identifiers in a way that makes camelCase pointless there.

URL slugs favor kebab-case for a more practical reason: search engines have historically treated a hyphen as a word separator (so free-json-tool reads as three distinct words) while an underscore was, for a long time, treated as joining words together into one token — making hyphens the safer choice for keyword-readable URLs.

Frequently Asked Questions

What is the difference between camelCase and PascalCase?

Both join words without separators and capitalize each word — but camelCase starts with a lowercase letter (myVariableName) while PascalCase capitalizes the first word too (MyClassName). camelCase is common for variables, PascalCase for class names.

When should I use snake_case vs kebab-case?

snake_case (underscores) is the convention in Python, Ruby, and database column names. kebab-case (hyphens) is used in URLs, CSS class names, and HTML attributes, where underscores are unusual or invalid.

How does Title Case handle small words?

This tool capitalizes the first letter of every word, which is the simplest and most predictable behavior. Style guides differ on lowercasing short words like "of" and "the" — adjust those manually if your style guide requires it.

Does the converter handle existing camelCase input?

Yes. When converting to snake_case, kebab-case, camelCase, or PascalCase, the tool first splits on existing capital-letter boundaries, spaces, hyphens, and underscores — so myVariableName converts cleanly to my_variable_name.

Why do URLs typically use kebab-case instead of snake_case?

Search engines have long treated a hyphen as a separator between distinct words in a URL, while an underscore was historically treated as joining the surrounding text into a single token — so free-json-tool reads as three keywords where free_json_tool may not.

Does converting to PascalCase or camelCase preserve acronyms like "API"?

No — every word is lowercased before its first letter is re-capitalized, so an input like "API Key" converts to "ApiKey," not "APIKey." If you need an acronym to keep its original casing, fix it up manually after converting.