Text Case Converter — 12 cases at once
Type or paste any text, see it converted into every common case at the same time. Click Copy on any line to grab that variant. Useful for code naming and content cleanup.
Type or paste any text, see it converted into every common case at the same time. Click Copy on any line to grab that variant. Useful for code naming and content cleanup.
HELLO WORLD — CONVERT ME!hello world — convert me!Hello World — Convert Me!Hello world — convert me!helloWorldConvertMeHelloWorldConvertMehello_world_convert_mehello-world-convert-meHELLO_WORLD_CONVERT_MEhello.world.convert.mehello/world/convert/mehELLO wORLD — CONVERT ME!Identifiers in code follow conventions per language and ecosystem: JavaScript variables are camelCase, Python is snake_case, CSS classes are kebab-case, environment variables are CONSTANT_CASE, file paths are path/case. When you're moving content between systems — say, a column header from a spreadsheet into a database schema — you constantly need to flip cases.
This converter detects word boundaries even in cases where there are no spaces (camelCase, PascalCase) and rebuilds the input in twelve common formats. The detection is conservative: 'XMLHttpRequest' becomes 'xml_http_request' (treating the consecutive capitals as a unit), which matches what most code generators produce.
It's language-driven. JavaScript and Java use camelCase for variables and PascalCase for types/classes. Python and Ruby use snake_case for variables. CSS classes are kebab-case. Constants in any language are usually CONSTANT_CASE. URL slugs are kebab-case.
It treats consecutive capitals as a single token, so XMLHttpRequest splits into ['XML', 'Http', 'Request']. snake_case → xml_http_request, kebab-case → xml-http-request. This matches the behaviour of most lint tools and code generators.
Title Case capitalises every word ('The Quick Brown Fox'). Sentence case capitalises only the first word and after sentence-ending punctuation ('The quick brown fox.'). Title is for headings and titles; Sentence for body content and shorter labels.
Yes. Conversion happens entirely in your browser. Nothing is sent to a server, so the tool is safe even with proprietary code, internal docs, or sensitive content.
Mostly, but not always. snake_case → camelCase → snake_case is reversible. UPPER → snake_case loses information about which sequences were originally underscored vs separate words. When in doubt, start from a 'natural' form (sentence case) and convert outward.
Where flipping cases turns a manual chore into one click.
Pull a list of fields from a Python API (snake_case) and feed them into a TypeScript client (camelCase). Paste the list, copy the camelCase column, you're done.
Designer hands you 'Primary CTA Button' as a layer name. Convert to kebab-case → 'primary-cta-button' → drop into your CSS file as the class name.
Take a config field name from your code (apiBaseUrl, sessionTimeoutMs) and convert to CONSTANT_CASE for the .env file (API_BASE_URL, SESSION_TIMEOUT_MS).
Title 'Why React Server Components Matter' → kebab-case 'why-react-server-components-matter' → straight into your blog's URL slug field.
Habits that keep naming consistent across a codebase.
Variables and functions: one case (camelCase or snake_case). Types and classes: one case (PascalCase). Files: one case (kebab-case). Database columns: snake_case. Mixing within a layer makes lint rules useless.
ESLint, Pylint, Rubocop and most language linters can enforce naming conventions automatically. Generate the right case once with this tool, then let the linter keep it consistent forever.
Search engines treat dashes as word separators in URLs but underscores as part of the same word. Always use kebab-case for slugs, never snake_case — Google reads my-blog-post but not my_blog_post.
API_KEY is fine. AKY is not — your future self in three months won't remember what it stood for. The cost of an extra five characters is far less than the cost of a confusing constant name.