Skip to main content

    Case Converter

    Convert text between UPPERCASE, lowercase, Title Case, camelCase, snake_case, and more. Free and instant.

    Free to use. Runs in your browser.

    Paste your text and click any case button to convert instantly. Supports 10 different case styles.

    Conversions happen in your browser, nothing is uploaded.

    0 characters

    Why Text Case Matters More Than You Think

    Text case isn't just about aesthetics, it's about conventions, readability, and consistency. In programming, the wrong case breaks your code: a variable named "userName" is completely different from "username" in case-sensitive languages. In writing, case signals intent: ALL CAPS reads as shouting, Title Case looks professional, and sentence case feels natural.

    Naming conventions exist for a reason. JavaScript uses camelCase for variables and PascalCase for classes. Python uses snake_case for functions and SCREAMING_SNAKE_CASE for constants. CSS uses kebab-case for properties. Mixing conventions makes code harder to read and maintain.

    This converter handles all the common cases instantly. Paste your text, pick the target case, and copy the result. It handles edge cases like acronyms, numbers, and punctuation that trip up manual conversion.

    Case Types Explained

    CaseExampleUsed In
    camelCasemyVariableNameJavaScript/TypeScript variables, Java methods
    PascalCaseMyVariableNameReact components, C# classes, TypeScript types
    snake_casemy_variable_namePython, Ruby, Rust, database columns
    SCREAMING_SNAKEMY_VARIABLE_NAMEConstants in most languages, environment variables
    kebab-casemy-variable-nameCSS properties, HTML attributes, URL slugs
    Title CaseMy Variable NameHeadings, titles, UI labels
    Sentence caseMy variable nameParagraphs, descriptions, normal text
    UPPERCASEMY VARIABLE NAMEEmphasis, headers, abbreviations
    lowercasemy variable nameNormalisation, search, comparison
    Toggle CasemY vARIABLE nAMEStylistic effect, inverting existing case

    What this means for you: When converting between cases, the tool splits your text into words first, then reassembles with the target convention. This means "myVariableName" correctly converts to "my_variable_name", it recognises word boundaries in any source format.

    Naming Convention Best Practices

    Be consistent within a project

    Pick one convention per context and stick to it. If your API returns snake_case, use snake_case for those fields throughout. Mixing conventions in the same file is a code smell.

    Follow language conventions

    Every language has established norms. Python's PEP 8 says snake_case. JavaScript's community prefers camelCase. Fighting these conventions makes your code harder for other developers to read.

    Handle acronyms carefully

    Is it "XMLParser" or "XmlParser"? "getHTTPResponse" or "getHttpResponse"? Most style guides prefer treating acronyms as words: XmlParser, getHttpResponse. It's more readable and converts between cases more predictably.

    Use case to signal intent

    SCREAMING_SNAKE signals "don't change this" (constants). PascalCase signals "this is a class/component." camelCase signals "this is a variable/function." The case itself communicates meaning to other developers.

    Case Conversion in Code

    Most languages have built-in methods for basic case changes, but converting between naming conventions (camelCase → snake_case) usually requires a library or custom function:

    LanguageBasic CaseNaming Convention
    JavaScriptstr.toLowerCase()lodash: _.camelCase(str)
    Pythonstr.upper() / str.title()inflection.underscore(str)
    Rubystr.downcase / str.upcasestr.underscore / str.camelize
    PHPstrtolower($str)Str::camel($str) (Laravel)
    SQLUPPER(col) / LOWER(col)No built-in support

    What this means for you: For a one-off conversion, paste your text above and copy the result. For bulk transformations in a codebase, use your editor's search and replace with regex, or a dedicated rename refactoring tool.

    The Same Phrase in Every Case

    Seeing one phrase run through every style makes the differences obvious. Here is "User Profile Settings" in each of the ten conversions this tool offers.

    StyleResult
    UPPERCASEUSER PROFILE SETTINGS
    lowercaseuser profile settings
    Title CaseUser Profile Settings
    Sentence caseUser profile settings
    camelCaseuserProfileSettings
    PascalCaseUserProfileSettings
    snake_caseuser_profile_settings
    kebab-caseuser-profile-settings
    CONSTANT_CASEUSER_PROFILE_SETTINGS
    tOGGLE cASEuSER pROFILE sETTINGS

    Acronyms, Numbers, and Symbols

    Conversions between naming conventions split your text into words first, and a few rules decide where those word boundaries fall. Knowing them helps you predict the output.

    Inputsnake_case resultWhat happened
    XMLParserx_m_l_parserA run of capitals splits letter by letter
    XmlParserxml_parserAcronym written as one capitalised word
    user2nameuser2nameDigits stay attached, no new word
    hello-world_testhello_world_testMixed separators collapse to one

    The practical takeaway: write acronyms as a single capitalised word (Xml, Http, Api) and the conversions stay clean and predictable across every style.

    Title Case vs Sentence Case

    These two trip people up most. This tool's Title Case capitalises the first letter of every word, which is ideal for UI labels, button text, and short headings where a clean, even look matters.

    Editorial title case in the AP and Chicago styles is stricter: it keeps short words such as "a", "an", "the", "of", "in", and "and" lowercase unless they begin or end the title. So "the lord of the rings" becomes "The Lord of the Rings", not "The Lord Of The Rings". If you are following a house style guide, expect to lowercase those small words by hand after converting.

    Sentence case capitalises only the first word of the text and the first word after each full stop, question mark, or exclamation mark. It is the most natural choice for body copy, descriptions, and notifications, and it reads far more calmly than Title Case in a long sentence.

    Case Sensitivity Gotchas

    Getting the case right is not just style. In several places, the wrong case quietly breaks things, so it pays to know where case actually matters.

    • JSON keys are case-sensitive: name and Name are two different keys.
    • URLs: the domain is never case-sensitive, but the path usually is on Linux servers, so /About and /about can be two different pages.
    • Filesystems: Linux is case-sensitive, while macOS and Windows are usually case-insensitive but preserve the case you typed. Code that works on a laptop can fail on a Linux server over a single capital.
    • SQL: whether identifiers and text comparisons are case-sensitive depends on the database and its collation, so never assume "Smith" and "smith" match.
    • CSS and HTML: tag names are case-insensitive, but class names and IDs are case-sensitive, so .Card will not match .card.

    Choosing the Right Case

    • Variables and functions: camelCase in JavaScript, Java, and Swift; snake_case in Python, Ruby, and Rust.
    • Classes, components, and types: PascalCase almost everywhere, including React components and C# classes.
    • Constants and environment variables: CONSTANT_CASE to signal a value that should not change.
    • URLs, CSS, and file names: kebab-case, which reads well in a web address and avoids case-sensitivity surprises.
    • Headings and body text: Title Case for short headings, Sentence case for anything longer than a few words.

    Related Tools

    How to use this tool

    1

    Paste or type your text into the input box

    2

    Click the desired case style button

    3

    Copy the converted text to your clipboard

    Common uses

    • Converting headings to Title Case for blog posts
    • Generating UPPER CASE text for design mockups
    • Creating camelCase or snake_case variable names
    • Cleaning up ALL CAPS text from legacy data

    Share this tool

    Frequently Asked Questions

    What case conversions are supported?
    Ten case styles: UPPERCASE, lowercase, Title Case, Sentence case, camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, and Toggle Case. Each follows the standard convention used in programming and writing.
    Is my text stored or sent anywhere?
    No. All conversions happen locally in your browser using JavaScript string methods. Your text never leaves your device, nothing is transmitted to any server.
    What's the difference between camelCase and PascalCase?
    camelCase starts with a lowercase letter (myVariableName). PascalCase starts with uppercase (MyVariableName). In most conventions, camelCase is for variables and functions, PascalCase is for classes and React components.
    When should I use snake_case vs kebab-case?
    snake_case is the convention in Python, Ruby, Rust, and SQL (column_names). kebab-case is used in CSS properties, HTML attributes, and URL slugs. They're functionally similar but belong to different ecosystems.
    What is CONSTANT_CASE?
    Also called SCREAMING_SNAKE_CASE, all uppercase with underscores between words. Used for constants in almost every language: MAX_RETRIES, API_BASE_URL, DEFAULT_TIMEOUT. It signals 'this value should not change.'
    How does the tool handle acronyms?
    Each capital letter starts a new word, so a run of capitals splits letter by letter: 'XMLParser' becomes 'x_m_l_parser' in snake_case. For cleaner output, write the acronym as a single capitalised word, so 'XmlParser' becomes 'xml_parser'.
    Can I convert between programming naming conventions?
    Yes, that's one of the primary use cases. Paste a variable name in any format and convert it to another. 'getUserName' converts to 'get_user_name' (snake_case), 'get-user-name' (kebab-case), or 'GetUserName' (PascalCase).
    What is Toggle Case used for?
    Toggle case inverts every character's case: 'Hello World' becomes 'hELLO wORLD'. It's mainly used for stylistic effects or mocking text. Not commonly used in programming.
    Does Title Case handle articles and prepositions?
    This tool capitalises the first letter of every word. Strict title case (AP/Chicago style) would leave words like 'a', 'the', 'in', 'of' lowercase unless they start the title. For strict title case, manual adjustment may be needed.
    Can I convert entire paragraphs?
    Yes. UPPERCASE, lowercase, Title Case, Sentence case, and Toggle Case work on any text length. Programming cases (camelCase, snake_case, etc.) work best on individual names or short phrases, they'll concatenate an entire paragraph into one long identifier.
    How does Sentence case work?
    Sentence case capitalises the first letter of each sentence and the first character of the text. Everything else becomes lowercase. It recognises sentence boundaries at periods, exclamation marks, and question marks.
    Is there a keyboard shortcut?
    This tool doesn't have built-in shortcuts, but most code editors do: VS Code has 'Transform to Uppercase/Lowercase/Title Case' in the command palette (Ctrl+Shift+P). For a quick one-off conversion, paste your text above and click a style.

    Results are for general informational purposes only and should be checked before use. They are not professional advice. See our Disclaimer and Terms of Service.