Skip to content

Runs entirely in your browser. Nothing you paste leaves this page.

Free / No sign-up

Case converter for text and code.

See your text in every common case at once: camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, Title Case by Chicago, AP, APA or MLA rules, sentence case and a clean URL slug.

  • Title Case

    Title case style

    How to Build an MVP: A Guide for First-Time Founders in 2026 XMLHttpRequest Error Handler Max Retry Count

  • Sentence case

    How to build an MVP: a guide for first-time founders in 2026 XMLHttpRequest error handler Max retry count

  • lowercase

    how to build an mvp: a guide for first-time founders in 2026 xmlhttprequest error handler max retry count

  • UPPERCASE

    HOW TO BUILD AN MVP: A GUIDE FOR FIRST-TIME FOUNDERS IN 2026 XMLHTTPREQUEST ERROR HANDLER MAX RETRY COUNT

  • camelCase

    howToBuildAnMvpAGuideForFirstTimeFoundersIn2026 xmlHttpRequestErrorHandler maxRetryCount

  • PascalCase

    HowToBuildAnMvpAGuideForFirstTimeFoundersIn2026 XmlHttpRequestErrorHandler MaxRetryCount

  • snake_case

    how_to_build_an_mvp_a_guide_for_first_time_founders_in_2026 xml_http_request_error_handler max_retry_count

  • kebab-case

    how-to-build-an-mvp-a-guide-for-first-time-founders-in-2026 xml-http-request-error-handler max-retry-count

  • CONSTANT_CASE

    HOW_TO_BUILD_AN_MVP_A_GUIDE_FOR_FIRST_TIME_FOUNDERS_IN_2026 XML_HTTP_REQUEST_ERROR_HANDLER MAX_RETRY_COUNT

  • dot.case

    how.to.build.an.mvp.a.guide.for.first.time.founders.in.2026 xml.http.request.error.handler max.retry.count

  • URL slug

    Slug separator

    how-to-build-an-mvp-a-guide-for-first-time-founders-in-2026 xmlhttprequest-error-handler max-retry-count

Identifier cases split on spaces, punctuation and camelCase humps, so XMLHttpRequest becomes xml_http_request. Each line converts on its own. Title Case keeps words like iPhone and NASA as written.

How to use it.

  1. 01

    Type or paste text, a variable name or several headings (one per line).

  2. 02

    Every case appears at once. Pick a title case style (Chicago, AP, APA or MLA) and a slug separator if you need them.

  3. 03

    Copy the line you want. Each line of the input is converted on its own.

What it does.

Everything this tool handles, all of it inside your browser tab.

  • Eleven outputs at once, each with its own copy button
  • camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE and dot.case
  • Title Case by Chicago, AP, APA or MLA rules
  • Sentence case that keeps iPhone- and NASA-style words
  • Splits camelCase humps and acronym runs (XMLHttpRequest)
  • URL slugs with transliteration, hyphen or underscore, ASCII or Unicode
  • Converts each line separately for lists of headings or columns
  • Runs entirely in your browser: no upload, no sign-up

Worked examples.

  • One heading, four style guides

    a guide to working with the API in iPhone apps from scratch
    
    > Chicago: A Guide to Working with the API in iPhone Apps from Scratch
    > AP:      A Guide to Working With the API in iPhone Apps From Scratch
    > APA:     A Guide to Working With the API in iPhone Apps From Scratch
    > MLA:     A Guide to Working with the API in iPhone Apps from Scratch

    AP and APA capitalise four-letter prepositions (With, From); Chicago and MLA keep all prepositions lowercase. API and iPhone stay as written.

  • Identifiers with acronyms

    XMLHttpRequest handler  > xmlHttpRequestHandler
    getHTTPResponseCode     > get_http_response_code
    UserProfileCard         > user-profile-card
    max retry count         > MAX_RETRY_COUNT
    user_id                 > UserId

    Acronym runs split before the next word, then each word is recased for the target convention.

  • A URL slug with accents

    Crème Brûlée & Smørrebrød: 10 Best Recipes (2026)!
    
    > creme-brulee-and-smorrebrod-10-best-recipes-2026

    Accents are removed, ø becomes o, & becomes and, and punctuation collapses into single hyphens.

  • Underscore slug from German

    Straße in Köln
    
    > strasse_in_koln

    ß is transliterated to ss. Pick the a_b separator when a system requires underscores.

  • Sentence case from all caps

    THE QUICK BROWN FOX JUMPS. IT RAN AWAY
    
    > The quick brown fox jumps. It ran away

    Mostly-uppercase input is lowercased first, then each sentence start is capitalised.

What it converts, and how words are found

Eleven outputs update as you type: Title Case, sentence case, lowercase, UPPERCASE, camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, dot.case and a URL slug. dot.case shows up in configuration keys such as app.server.port. Each line of the input is converted separately, so you can paste a list of headings or column names and convert them all at once.

For the identifier cases, the text is first split into words on spaces, punctuation, underscores and hyphens, and on camelCase humps. An acronym run followed by a word is split before the word's capital, so XMLHttpRequest becomes XML, Http, Request, and getHTTPResponseCode becomes get, HTTP, Response, Code. Apostrophes inside words are dropped (don't becomes dont) so they do not create stray words. Letters and digits from any script are kept, and leading or trailing punctuation is ignored, so a heading pasted with quotes or a trailing colon still converts cleanly.

Which case for which language

JavaScript and TypeScript use camelCase for variables and functions and PascalCase for classes, types and React components. Python's PEP 8 uses snake_case for functions and variables, PascalCase for classes and CONSTANT_CASE for constants. Go exports names that start with a capital letter (PascalCase) and keeps others camelCase. Rust uses snake_case for functions, PascalCase for types and SCREAMING_SNAKE_CASE for constants. Kotlin and Swift follow the JavaScript split: camelCase for members, PascalCase for types.

Outside code: CSS classes, HTML attributes, file names and URLs are usually kebab-case, database columns snake_case, and environment variables CONSTANT_CASE. JSON APIs are split between camelCase and snake_case; either is fine as long as one API never mixes them, a point our REST API design guide makes too.

Acronyms in camelCase and PascalCase

Style guides disagree on acronyms. Google's Java and JavaScript guides treat them as ordinary words (XmlHttpRequest, userId), which keeps word boundaries obvious. Microsoft's .NET guidelines keep two-letter acronyms in capitals (IOStream) and write longer ones like words (HtmlParser). Browser APIs mix both, as XMLHttpRequest shows.

This converter follows the treat-as-a-word convention: XMLHttpRequest becomes xmlHttpRequest and XmlHttpRequest. If your codebase keeps acronyms in capitals, adjust those few letters after copying.

Title case: Chicago, AP, APA and MLA

All four capitalise the first and last word and the first word after a colon (this converter does the same after a question mark, exclamation mark or dash, so subtitles read correctly), and keep articles (a, an, the) lowercase. They differ on short words. Chicago and MLA lowercase every preposition, however long (with, from, between), plus and, but, for, or and nor. AP and APA capitalise any word of four letters or more, so With and From are capitalised, and lowercase only short conjunctions and prepositions.

Hyphenated compounds capitalise each major part (Self-Driving, Up-to-Date). Words that already contain capitals after the first letter, such as iPhone, NASA or JavaScript, are left as written, and text typed in all capitals is lowercased first so every word is not mistaken for an acronym.

One limit applies to every automatic tool: a word such as up or on can be a preposition (lowercase) or part of a phrasal verb (Set Up Your Account, capitalised). The converter cannot tell which, so read headlines once before publishing.

Sentence case for headings and UI

Sentence case capitalises only the first word and proper nouns. GOV.UK and Google's Material Design guidelines use it for headings, buttons and labels because it is easier to scan and avoids arguments about which words to capitalise. The converter capitalises the start of each sentence and the pronoun I, keeps words like iPhone and NASA as written, and does not treat e.g. or i.e. as the end of a sentence. Proper nouns typed in lowercase cannot be detected, so capitalise those yourself. For product copy, decide once and write it into your style guide for buttons, menus, headings and email subjects; mixed conventions make an interface feel unfinished far more than the choice itself.

Renaming identifiers safely

Converting a name is the easy part; renaming it across a codebase is where bugs come from. Use your editor's rename refactoring, which understands scope, rather than search and replace, and remember the places a refactor cannot see: JSON payloads, database columns, environment variables, CSS classes referenced from strings and URLs that other people have bookmarked.

When an API changes convention, for example from snake_case to camelCase, translate at the boundary with a serializer setting instead of renaming every field by hand, and keep the old form working through a deprecation period. Most web frameworks and ORMs have a setting for exactly this.

For lists, paste one name per line: line order is kept, so the output can go straight back into a spreadsheet column, an enum or a migration.

Clean URL slugs

The slug is lowercase, uses hyphens between words, turns & into and, and transliterates common Latin letters (é to e, ß to ss, ø to o, æ to ae). Numbers are kept, so a year or version in a title survives into the slug. Google recommends hyphens rather than underscores in URLs because hyphens separate words for search engines; the underscore option is there for systems that need it.

Untick ASCII only to keep letters from other scripts, such as Cyrillic or Devanagari. Browsers display them, but they are percent-encoded when copied, which makes shared links long. Keep slugs short and stable, since changing one later means setting up a redirect. Our technical SEO entry covers URL structure in more depth, and the URL encoder shows the percent-encoded form.

Questions, answered

Something else on your mind? Ask a consultant and get a reply within one business day.

What is the difference between camelCase and PascalCase?

camelCase starts with a lowercase letter (userName); PascalCase capitalises every word including the first (UserName). JavaScript uses camelCase for variables and PascalCase for classes and components.

When should I use snake_case vs kebab-case?

snake_case suits code and databases where hyphens are not allowed in names, such as Python and SQL columns. kebab-case suits URLs, CSS classes and file names.

Which title case style should I use?

Follow your publication's guide. News sites usually use AP, academic writing APA or MLA, and books Chicago. If you have no guide, Chicago is a common default for headings.

Why is a word like With capitalised in AP but not Chicago?

AP and APA capitalise all words of four letters or more, including prepositions. Chicago and MLA lowercase prepositions of any length.

Does it keep acronyms like NASA?

In title and sentence case, yes: words that contain capitals after the first letter are kept as written. Identifier cases recase acronyms as words, so NASA becomes nasa or Nasa.

Can I convert many lines at once?

Yes. Each line is converted separately, so a list of headings or column names comes out as a matching list.

Are hyphens or underscores better in URLs?

Hyphens. Google recommends them because they separate words; underscores can join words together in how URLs are read.

Is my text sent anywhere?

No. Every conversion runs in your browser; nothing is stored or uploaded.

More free tools.

All tools

Need tooling like this inside your product?

We build internal tools, developer platforms and APIs. Tell us what your team keeps doing by hand.