All tools

Text case & slug converter

Paste text and get every common case at once: UPPERCASE, camelCase, snake_case, a URL slug and more, each one click-to-copy.

Conversions Click any value to copy
UPPERCASE
lowercase
Title Case
Sentence case
camelCase
PascalCase
snake_case
kebab-case
CONSTANT_CASE
slug

Every conversion and the live counts run in your browser with vanilla JavaScript. Nothing is uploaded and the tool works offline. The slug uses Unicode NFKD to transliterate accents (é → e); for Turkish-specific letters use the dedicated Turkish ASCII converter.

What does a text case converter do?

Paste any text and this converter rewrites it into ten common formats at once (UPPERCASE, lowercase, Title Case, Sentence case, camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE and a URL-safe slug), so you can grab the exact shape you need without retyping. Click any result to copy it. A live readout counts characters, words, lines and sentences as you type. Everything runs in your browser with plain JavaScript, so nothing you paste is uploaded or logged: safe for names, notes or code you would rather keep off a server.

Programming naming conventions: camelCase, snake_case and friends

Programmers spell multi-word names in fixed styles, and each ecosystem has its favourite. camelCase (firstName) is the JavaScript norm for variables and functions. PascalCase (FirstName), also called UpperCamelCase, names classes and React components. snake_case (first_name) rules Python and most SQL columns. kebab-case (first-name) suits CSS classes, HTML attributes and file names, because hyphens are safe in URLs. CONSTANT_CASE (FIRST_NAME) marks constants and environment variables. The converter finds word boundaries the way tooling does: it splits on spaces and punctuation and also at the lower-to-upper seam inside existing camelCase, so myXMLParser becomes the words my, XML and parser before it is re-joined in the style you pick.

Slugs and why accents get transliterated

A slug is the readable part of a URL: the my-first-post in /blog/my-first-post. To stay safe in a link it must be lowercase ASCII with words joined by hyphens and no spaces or punctuation. This tool builds one by applying Unicode NFKD normalization, which splits an accented letter such as é into a plain e plus a separate accent mark; the marks are then removed, so café becomes cafe and Zürich becomes zurich. Anything that is not a letter or digit collapses into a single hyphen. For Turkish-specific letters such as ı and ş, use the dedicated Turkish ASCII converter, which maps them the way Turkish readers expect.

Title Case vs Sentence case

Title Case capitalizes the first letter of every word (Ten Ways To Name A Variable) and suits headlines and buttons. Sentence case capitalizes only the first letter of each sentence, so it reads like ordinary prose. This tool lowercases the rest and re-capitalizes after every period, question mark and exclamation point, which is the right default for body copy, form labels and alt text.

Frequently asked questions

What's the difference between camelCase and PascalCase?

Both join words with no separators and capitalize each word after the first. The only difference is the very first letter: camelCase starts lowercase (userName) while PascalCase starts uppercase (UserName). By convention camelCase names variables and functions, and PascalCase names classes, types and components.

Which case should I use for CSS, variables and constants?

CSS classes and file names usually take kebab-case (main-nav). JavaScript variables and functions take camelCase; classes and components take PascalCase. Python favours snake_case for variables and functions. Fixed values like API keys and environment variables are written in CONSTANT_CASE. When in doubt, match the surrounding code.

How does the slug converter handle accents and other languages?

It normalizes text with Unicode NFKD, strips the separated accent marks and keeps only a-z and 0-9, joining what's left with hyphens. So résumé becomes resume and Málaga becomes malaga. Letters that don't decompose to ASCII, including Turkish ı, are dropped. For those, use the Turkish ASCII converter linked below.

Is my text sent to a server?

No. Every conversion and the character, word, line and sentence counts are computed locally in your browser with vanilla JavaScript. Nothing is uploaded, stored or logged, and the page keeps working offline, so it's safe for private notes, names and code.

How are words and sentences counted?

Words are runs of non-space characters, so hyphenated or slashed tokens count as one. Sentences are counted by splitting on periods, question marks, exclamation points and ellipses. Lines count every line break. The counts are meant as a quick guide rather than a strict linguistic measure.