Instantly convert text between UPPERCASE, lowercase, Title Case, Sentence case, camelCase, PascalCase, snake_case, and kebab-case — all at once.
Text case (or letter case) refers to the convention used for capitalizing letters within a piece of text, and it carries meaning well beyond simple styling. In natural language, case signals structure — a capital letter marks the start of a sentence or a proper noun, which helps readers parse text quickly. In programming and data formats, case is even more significant: it's often used as a naming convention to visually distinguish different kinds of identifiers at a glance, and in many languages, case is functionally significant — 'myVariable' and 'MyVariable' are two completely different identifiers, not the same one styled differently.
This tool converts freely between eight common case styles: three general-purpose text styles (UPPERCASE, lowercase, Title Case, Sentence case) and four programming-identifier styles (camelCase, PascalCase, snake_case, kebab-case), instantly and entirely in your browser, so you can move a name or phrase between contexts without manually retyping or re-punctuating it.
UPPERCASE is used for emphasis, acronyms, constants in code (MAX_RETRIES), and formal headers or warnings, but is generally avoided for body text since it's harder to read at length. lowercase is used for casual text, most file names, URL slugs, and many programming identifiers where capitalization isn't semantically required. Title Case capitalizes the first letter of most words and is standard for headlines, book and movie titles, and navigation menu labels. Sentence case capitalizes only the first word (and proper nouns), matching normal prose, and is increasingly preferred over Title Case for UI labels and headings in modern web and app design because it reads more naturally.
camelCase and PascalCase are the standard for variable, function, and class names in languages like JavaScript, Java, and C#; snake_case is standard in Python, Ruby, and SQL column names; and kebab-case is standard for URL slugs, CSS class names, and command-line flags.
These four styles all solve the same underlying problem — representing a multi-word name as a single unbroken identifier, since most programming languages and URL systems don't allow spaces inside a name — but each uses a different convention to keep the word boundaries visually readable. camelCase joins words with no separator and capitalizes every word except the first ('userAccountId'), making it the standard for variables and function names in JavaScript, Java, and many other C-family languages. PascalCase is nearly identical but capitalizes every word including the first ('UserAccountId'), and is the standard for class, type, and component names in the same languages.
snake_case joins words with underscores and keeps everything lowercase ('user_account_id'), the standard convention in Python, Ruby, Rust, and most SQL database column and table names. kebab-case joins words with hyphens, also lowercase ('user-account-id'), and is the standard for URL slugs, HTML/CSS class and attribute names, and command-line flags, largely because hyphens don't require the Shift key and render as a single unbroken word visually.
Different programming language communities converge on different case conventions, and following the local convention is considered a basic code-quality expectation in every major codebase and style guide. JavaScript and TypeScript use camelCase for variables and functions, PascalCase for classes and types/interfaces, and UPPER_SNAKE_CASE for true constants. Python's official style guide (PEP 8) prescribes snake_case for variables and functions, PascalCase for classes, and UPPER_SNAKE_CASE for constants — notably different from JavaScript's function-naming convention. Ruby follows a similar pattern to Python: snake_case for methods and variables, PascalCase for classes and modules.
CSS and HTML historically favor kebab-case for class names and custom properties, while database systems overwhelmingly favor snake_case for table and column names, partly because SQL is traditionally case-insensitive by default and mixed-case identifiers can behave inconsistently across different database engines. Getting these conventions right matters for more than aesthetics — many linters and style checkers will flag a name that doesn't match the expected convention for its context.
Case Converter handles capitalization and naming conventions. These related text tools cover the rest of your everyday text-cleanup workflow.