Common questions about when to use each case format, how the converter handles acronyms and multi-line text, and whether your text is stored
What is a text case converter and what does it do?
A text case converter is a tool that transforms text between different capitalisation formats without requiring manual retyping. This tool supports 11 distinct case types: UPPER CASE, lower case, Title Case, Sentence case, camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, dot.case, and Train-Case. You paste your text into the input area, select the target case from the grid, and the converted output appears instantly in the preview panel with a one-click copy button. Every conversion processes line by line, preserving paragraph structure and blank lines, making it suitable for converting single identifiers, multi-line code variable lists, article headlines, and full document passages.
What is the difference between camelCase and PascalCase?
Both camelCase and PascalCase join multiple words together without spaces and capitalise the first letter of each word -- but they differ in how they treat the very first word. In camelCase (also called lower camel case), the first word is entirely lowercase and subsequent words each start with a capital letter: for example, 'hello world foo' becomes helloWorldFoo. In PascalCase (also called upper camel case or StudlyCase), every word including the first starts with a capital letter: 'hello world foo' becomes HelloWorldFoo. The practical difference is that camelCase is used for variable and function names in JavaScript, Java, Swift, Kotlin, and Dart, while PascalCase is used for class names, type names, React component names, and constructor functions in those same languages.
When should I use snake_case vs kebab-case?
The choice between snake_case and kebab-case is largely determined by the language or context you are working in. snake_case (words joined by underscores, all lowercase) is the standard naming convention for variables, functions, and module names in Python as defined in PEP 8, for method and variable names in Ruby, and for column names in SQL databases and ORM models. kebab-case (words joined by hyphens, all lowercase) is the standard for HTML element attributes, CSS class names and IDs, URL slugs and URL paths in web applications, and file names in many web development frameworks. The key reason kebab-case cannot be used as an identifier in most programming languages is that hyphens are interpreted as the subtraction operator, making hello-world ambiguous -- which is why kebab-case is confined to markup, styling, and URL contexts.
What is Title Case and which words should not be capitalised?
Title Case capitalises the first letter of each significant word in a title or heading. However, traditional English title case rules (as defined by the Chicago Manual of Style and AP Style Guide) specify that certain short words should remain lowercase unless they appear as the first or last word of the title. These lowercase words are called articles (a, an, the), coordinating conjunctions (and, but, or, nor, for, so, yet), and short prepositions (at, by, in, of, on, to, up, as). This tool implements these rules: articles, conjunctions, and short prepositions are kept lowercase in the middle of a title, but are always capitalised if they are the first or last word. For example: 'the art of the deal' becomes 'The Art of the Deal'.
What is CONSTANT_CASE and when is it used?
CONSTANT_CASE (also called SCREAMING_SNAKE_CASE or UPPER_SNAKE_CASE) formats text with all letters in uppercase and words joined by underscores. It is used almost exclusively for named constants and environment variables across many programming languages. In JavaScript and TypeScript, constants declared with const that represent configuration values are conventionally written in CONSTANT_CASE: for example, MAX_RETRY_COUNT, API_BASE_URL, DEFAULT_TIMEOUT_MS. In Python, module-level constants follow the same convention per PEP 8. In shell scripts and CI/CD configuration, environment variables are almost universally written in CONSTANT_CASE: DATABASE_URL, SECRET_KEY, NODE_ENV. The visual distinction from normal variable names makes constants immediately recognisable in source code.
How does the camelCase converter handle acronyms and abbreviations?
This text case converter treats each word as a separate unit after splitting on spaces, underscores, hyphens, dots, and camelCase boundaries. For acronyms embedded in text like 'HTML parser' or 'parse XML data', the converter splits on the camelCase boundary algorithm which detects transitions from uppercase sequences to mixed case. 'HTMLParser' is split to ['HTML', 'Parser'] before conversion. When converting to camelCase, the first segment is lowercased in full (html) and subsequent segments have their first letter capitalised (Parser), producing htmlParser. For snake_case output, the same input produces html_parser. This approach handles the most common acronym scenarios, though highly irregular capitalisation in the input may produce unexpected splits -- in those cases, pre-separating acronyms with spaces in the input before converting gives the most predictable output.
Can I convert multiple lines or a list of variable names at once?
Yes -- this text case converter processes each line independently. When you paste multi-line text, every line is converted to the selected case format while blank lines are preserved in their original positions. This makes it practical for batch-converting lists of variable names, database column names, API keys, or CSS class names. For example, if you paste a list of snake_case database columns (user_first_name, created_at, account_balance) and select camelCase, each line is converted independently to produce userFirstName, createdAt, accountBalance. The 'Use as Input' button allows you to chain conversions -- convert to one format, click Use as Input, then convert again to a second format.
What is dot.case and where is it used?
dot.case formats text by joining words with periods (dots) and making all letters lowercase. It is less common than snake_case or kebab-case but appears in specific contexts: configuration file keys in formats like TOML, HOCON, and some JSON configuration systems where hierarchical keys are flattened (for example, database.connection.timeout rather than a nested object), package names and module identifiers in languages like Erlang and Elixir, version namespace identifiers in some frameworks, and property access notation when representing object paths as strings. This tool's dot.case output strips spaces, hyphens, underscores, and other separators and joins all words with a single dot, making it useful for generating config keys from human-readable labels.
What is Train-Case and how is it different from kebab-case?
Train-Case (also called HTTP-Header-Case or Start-Case-With-Hyphens) formats words joined by hyphens with each word's first letter capitalised: 'hello world foo' becomes Hello-World-Foo. It differs from kebab-case (hello-world-foo) only in capitalisation -- Train-Case capitalises the first letter of each segment while kebab-case is all lowercase. Train-Case is most commonly seen in HTTP header names, where headers like Content-Type, Accept-Encoding, X-Request-ID, and Cache-Control follow this capitalisation pattern. Some command-line tools and configuration systems also use Train-Case for option names. For web development purposes, generating correctly capitalised HTTP header names from plain English descriptions is the primary use case for Train-Case conversion.
How does the sentence case converter work?
Sentence case capitalises only the first letter of the first word in each line, and lowercases all other letters. This mirrors the capitalisation style of normal written prose -- how you would write a sentence in an email, document, or social media post. In this tool, each line of input is treated as a separate sentence, meaning the first word of every line gets capitalised regardless of punctuation. This is appropriate for converting a list of sentences, email subject lines, or social media post text from ALL CAPS or Title Case back to normal readable prose. Note that proper nouns within the text will be lowercased by this conversion -- if your text contains names or trademarked terms that must retain their capitalisation, you will need to re-capitalise those manually after conversion.
Is this text case converter free and does it store my text?
This text case converter is completely free with no signup, no account required, and no usage limits. All conversion processing happens entirely within your browser using JavaScript -- your text is never transmitted to any server, never logged, and never stored. This makes it safe to use with sensitive content such as internal documentation, code containing API key patterns, or proprietary product names. The tool runs as a pure client-side React component: the input text stays in browser memory only and is discarded when you close or refresh the page. There are no analytics events fired on the text content, and no third-party services are involved in the conversion process.