Case Converter→Specialized Version
🔤

Title Case Converter

Convert text to Title Case

Acronyms split the way programmers expect: XMLHttpRequest becomes xml_http_request, not x_m_l_http_request.

Title Case Converter

Title Case writes Hello World Example. It is for headlines, article titles and headings. Short articles, conjunctions and prepositions stay lowercase unless they are the first or last word — this converter applies that rule instead of capitalising everything.

Conversions

InputTitle Case
hello world exampleHello World Example
XMLHttpRequestXml Http Request
user_first_nameUser First Name
Total Order CountTotal Order Count
Title Case capitalises the first letter of each significant word and leaves the rest: XMLHttpRequest becomes Xml Http Request. Real editorial title case additionally keeps short conjunctions, articles and prepositions lowercase unless they open the title.

The Same Text in Other Cases

CaseResult
camelCasehelloWorldExample
PascalCaseHelloWorldExample
snake_casehello_world_example
SCREAMING_SNAKE_CASEHELLO_WORLD_EXAMPLE
kebab-casehello-world-example
Train-CaseHello-World-Example

Where Title Case Fits

Title Case belongs to headings, article titles, book and film names, and button labels in interfaces that use it. It is an editorial convention rather than a technical one, which is why implementations disagree and why the disagreements are legitimate.

Converting in Code

``javascript const MINOR = new Set(['a', 'an', 'the', 'and', 'or', 'but', 'of', 'in', 'on', 'to', 'for']); const title = (s) => words(s) .map((w, i) => i > 0 && MINOR.has(w.toLowerCase()) ? w.toLowerCase() : w[0].toUpperCase() + w.slice(1).toLowerCase(), ) .join(' '); `

There is no single correct title case. AP capitalises prepositions of four letters or more; Chicago capitalises them only when used adverbially; APA uses four letters as the cutoff too but treats hyphenated compounds differently. Pick a style guide and say which one you followed.

Converting at the API Boundary

The recurring friction is that JavaScript uses camelCase and Python, Ruby, Go and SQL use snake_case. The fix is to convert in exactly one place — the client that talks to the API — rather than letting both conventions into the same codebase.

`javascript const toCamel = (s) => s.replace(/_([a-z])/g, (_, c) => c.toUpperCase()); const toSnake = (s) => s.replace(/[A-Z]/g, (c) => '_' + c.toLowerCase());

// Recursively, for a whole payload const convertKeys = (value, fn) => Array.isArray(value) ? value.map((v) => convertKeys(v, fn)) : value && typeof value === 'object' ? Object.fromEntries(Object.entries(value).map(([k, v]) => [fn(k), convertKeys(v, fn)])) : value; `

Two things to watch: keys that are user data rather than field names must not be converted, and the round trip is not always lossless — userID → user_id → userId changes the original.

Where Each Convention Is Mandatory

Not stylistic — these will break if you deviate:

ContextRequirement
Environment variablesUppercase with underscores; POSIX reserves lowercase
Custom HTML elementsMust contain a hyphen
Python modulesCannot contain hyphens; the import statement will not parse
SQL identifiersFolded to one case unless quoted, so camelCase does not survive
React componentsMust start uppercase, or JSX treats it as an HTML tag

Renaming Safely

A find-and-replace across a codebase will hit strings, comments and unrelated identifiers. Use your language server's rename symbol instead — it understands scope. For a bulk rename across files, restrict the pattern with word boundaries and review the diff before committing:

`bash grep -rn '\buserId\b' src/ # look first ``

Frequently Asked Questions

When should I use Title Case?

It is for headlines, article titles and headings. Short articles, conjunctions and prepositions stay lowercase unless they are the first or last word — this converter applies that rule instead of capitalising everything.

How are acronyms handled?

Correctly. `XMLHttpRequest` becomes `Xml Http Request`, treating the run of capitals as one word rather than splitting every letter.

Does the converter handle numbers and punctuation?

Numbers stay attached to the word they belong to; punctuation and separators are treated as word boundaries and removed. `order-2-total` and `order_2_total` both produce the same words.

Related Tools

Explore other tools you might find useful:

More Case Converter tools

You might also need