Skip to main content
~/makemydev/case-converter

$case-converter

Converters

Reformat identifiers and prose across every common case convention. Paste anything — camelCase, snake_case, Title Case, SCREAMING — and see all sixteen variants at once. All tokenization happens locally in your browser.

4 words42 chars1 line
  • camelCase
    JavaScript / Java variable names
    xmlHttpRequestParsedUserIdFromUrlToYou
  • PascalCase
    Class names, React components
    XmlHttpRequestParsedUserIdFromUrlToYou
  • snake_case
    Python / Rust identifiers
    xml_http_request_parsed_user_id_from_url_to_you
  • SCREAMING_SNAKE_CASE
    Environment variables, constants
    XML_HTTP_REQUEST_PARSED_USER_ID_FROM_URL_TO_YOU
  • kebab-case
    URLs, CSS classes, filenames
    xml-http-request-parsed-user-id-from-url-to-you
  • SCREAMING-KEBAB-CASE
    HTTP headers (non-standard)
    XML-HTTP-REQUEST-PARSED-USER-ID-FROM-URL-TO-YOU
  • Title Case
    Article and heading copy
    Xml Http Request Parsed User Id From Url To You
  • Sentence case
    Body copy, log messages
    Xml http request parsed user id from url to you
  • UPPER CASE
    All caps, whitespace preserved
    XMLHTTPREQUEST PARSEDUSERID FROMURL TO_YOU
  • lower case
    All lowercase, whitespace preserved
    xmlhttprequest parseduserid fromurl to_you
  • dot.case
    Config keys, feature flags
    xml.http.request.parsed.user.id.from.url.to.you
  • path/case
    URL or filesystem paths
    xml/http/request/parsed/user/id/from/url/to/you
  • CONSTANT_CASE
    Alias for SCREAMING_SNAKE
    XML_HTTP_REQUEST_PARSED_USER_ID_FROM_URL_TO_YOU
  • Header-Case
    HTTP header names (Content-Type)
    Xml-Http-Request-Parsed-User-Id-From-Url-To-You
  • aLtErNaTiNg CaSe
    Meme / mocking text
    xMlHtTpReQuEsT pArSeDuSeRiD fRoMuRl To_YoU
  • iNVERSE cASE
    Flip the case of each letter
    xmlhTTPrEQUEST PARSEDuSERid FROMurl TO_YOU

How to convert text between cases

Case conventions carry real meaning in code. Python prefers snake_case for variables. JavaScript uses camelCase for locals and PascalCase for classes and React components. Environment variables are nearly always SCREAMING_SNAKE_CASE. URLs and CSS class names land on kebab-case. Get it wrong and the linter, compiler, or code reviewer will catch it — but fixing one by hand is tedious.

  1. Paste any text. The tool tokenizes camelCase boundaries, acronym runs like XMLHttpRequest, digit-letter edges, and punctuation — so mixed input like get_user-ID2Name still splits correctly into get · user · ID · 2 · Name.
  2. Scan the conversion cards. All sixteen variants render side by side so you can pick the one that fits the target system without retyping.
  3. Copy with one click. Each card has an inline copy button. Clipboard only — nothing is sent anywhere.
  4. Convert multi-line blocks. Paste a full list of identifiers on separate lines; each line is converted independently so you can mass-rename a fleet of constants, migrations, or translation keys in one paste.

Which case belongs where?

  • camelCase — JavaScript, Java, Swift, and Kotlin locals and methods.
  • PascalCase — classes, types, React components, enum members in C# and Go-exported names.
  • snake_case — Python, Rust, Ruby locals; SQL column names; most C library APIs.
  • SCREAMING_SNAKE_CASE — environment variables, C-style constants, Terraform local values.
  • kebab-case — URL slugs, CSS class names, most CLI flags, custom element tags.
  • Header-Case — HTTP header names like Content-Type.
  • dot.case — feature flag keys, nested config, event names in analytics pipelines.

The tokenizer is Unicode-aware, so accented letters stay intact instead of getting stripped the way an ASCII-only regex would. Everything runs in your browser — no server round-trip, no logging, no rate limits.

// how-to

How to convert text between cases

Paste any text and see it reformatted into every common case convention — camelCase, snake_case, kebab-case, Title Case, SCREAMING_SNAKE, and more. Runs entirely in your browser.

  1. Paste text or identifiers

    Paste a variable name, heading, or full sentence. Mixed formats work too — camelCase, acronym runs like XMLHttpRequest, digits, and punctuation are all split correctly.

  2. Scan the conversion cards

    All sixteen case variants render side-by-side so you can compare them at a glance without re-running the conversion.

  3. Copy the one you need

    Click the copy button on any card. The output is placed on your clipboard; nothing is uploaded.

  4. Batch-convert multiple lines

    Paste a list of identifiers on separate lines. Each line is tokenized and converted independently so you can mass-rename keys, constants, or migrations.

// faq

? Does the tool handle acronyms like XMLHttpRequest correctly?
Yes. The tokenizer recognizes consecutive uppercase runs and splits at the last uppercase before a lowercase letter, so XMLHttpRequest becomes XML + Http + Request. Two adjacent acronyms with no lowercase separator (getHTTPURL) cannot be split without a dictionary, so they stay fused — split them manually if that matters.
? What is the difference between SCREAMING_SNAKE_CASE and CONSTANT_CASE?
None — they are aliases. Both are uppercase words joined by underscores. Environment variables, #define constants, and Terraform locals all use this convention.
? Why is kebab-case used for URLs and CSS classes?
Hyphens split naturally at word boundaries in URLs and stylesheets, and they do not collide with underscore-aware identifier parsers. Search engines also treat hyphens as word separators, which helps with slugs.
? Is my text sent to a server?
No. Tokenization and conversion all happen in your browser with no network requests. The tool works offline once the page has loaded.
? Does it handle accented characters and emoji?
Accented letters are preserved because the tokenizer uses Unicode property escapes instead of an ASCII-only regex. Emoji and other non-letter, non-digit characters act as word separators.