Convert text to UPPERCASE, lowercase, Title Case, camelCase, PascalCase, snake_case, kebab-case and 10+ more formats — instantly, with live diff, history and extra transforms. 100% free, no login required.
This case converter supports 20 distinct text case formats. The table below is a complete reference showing the definition, example, and primary use case for every format available in this tool.
| Case Name | Input Example | Output Example | Primary Use |
|---|---|---|---|
| UPPERCASE | hello world |
HELLO WORLD
| Headings, acronyms, emphasis, SQL keywords |
| lowercase | HELLO WORLD |
hello world
| Email addresses, URLs, normalization |
| Title Case | the quick brown fox |
The Quick Brown Fox
| Article headlines, book titles, movie titles |
| Sentence case | HELLO WORLD. HOW ARE YOU. |
Hello world. How are you.
| UI strings, button labels, general prose |
| camelCase | hello world |
helloWorld
| JavaScript/Java variables, JSON keys, APIs |
| PascalCase | hello world |
HelloWorld
| Classes, React components, TypeScript types |
| snake_case | hello world |
hello_world
| Python, SQL, Ruby, file names |
| SCREAMING_SNAKE | hello world |
HELLO_WORLD
| Constants, environment variables, macros |
| kebab-case | hello world |
hello-world
| CSS classes, HTML attributes, URL slugs |
| SCREAMING-KEBAB | hello world |
HELLO-WORLD
| HTTP headers, some config files |
| dot.case | hello world |
hello.world
| Java properties, Gradle keys, config files |
| path/case | hello world |
hello/world
| File paths, URL segments, namespace paths |
| aLtErNaTiNg | hello world |
hElLo WoRlD
| Memes, mock emphasis, creative styling |
| iNVERSE cASE | Hello World |
hELLO wORLD
| Fun text transformation, novelty uses |
| RaNdOm CaSe | hello world |
hELlo WORld
| Randomized styling, fun text effects |
| Start Case | hello world-foo |
Hello World-Foo
| Aggressive capitalization of all word starts |
| sWAP cASE | Hello World |
hELLO wORLD
| Inverts every character's case individually |
| Reverse Words | hello world foo |
foo world hello
| Reversing word order in a sentence |
| Reverse Text | hello world |
dlrow olleh
| Mirror text, puzzle generation |
| Morse Code | hello |
.... . .-.. .-.. ---
| Ham radio, educational, encoding exercises |
A text case converter is an essential tool for developers, writers, marketers, and data professionals. Here are the most common situations where converting text case saves time and prevents errors.
Convert API response keys from
snake_case
to
camelCase
for JavaScript variable naming conventions. Also useful when writing TypeScript interfaces in
PascalCase
.
Rename variables and function names to
snake_case
as required by PEP 8. Convert database column names and table names to the SQL lowercase or
snake_case
standard.
Generate
kebab-case
class names from plain English labels for BEM methodology, Tailwind utilities, or HTML attribute values like
data-field-name
.
Apply proper Title Case to article headlines, blog post titles, and chapter headings following AP Stylebook or Chicago Manual of Style conventions.
Convert article titles or product names to
kebab-case
URL slugs for SEO-friendly, hyphenated URLs like
/my-article-title
.
Convert any text to
SCREAMING_SNAKE_CASE
for defining constants in Python, Java, C++, or environment variable names in
.env
files.
Normalize inconsistently cased data from CSV files or databases — standardize all entries to lowercase or Title Case before importing into a data pipeline.
Generate
PascalCase
component names for React, Vue, or Angular. Convert design tokens and style variable names between different casing conventions.
Every programming language has community-agreed naming conventions for variables, functions, classes, and constants. Using the wrong case can make code harder to read and violate style guides enforced by linters and code reviews.
JavaScript uses
camelCase
for variable names, function names, and object properties (
myVariable
,
getUserData()
). Class names and constructor functions use
PascalCase
(
UserProfile
,
HttpClient
). Constants are written in
SCREAMING_SNAKE_CASE
(
MAX_RETRIES
). In React, all component names must be
PascalCase
— a lowercase component name is treated as a plain HTML element by the JSX compiler.
Python's official style guide (PEP 8) mandates
snake_case
for variables, functions, and module names (
user_name
,
get_user_data()
). Class names use
PascalCase
(
UserProfile
). Module-level constants are written in
SCREAMING_SNAKE_CASE
(
MAX_CONNECTIONS
). Private members use a leading underscore:
_private_method()
.
Java uses
camelCase
for variables and methods,
PascalCase
for classes and interfaces, and
SCREAMING_SNAKE_CASE
for constants declared with
static final
. Package names are written entirely in
lowercase
(e.g.,
com.example.myapp
).
CSS class names, IDs, and custom property names conventionally use
kebab-case
(
.btn-primary
,
--color-primary
). The BEM (Block Element Modifier) methodology also uses kebab-case with double underscores and double hyphens as separators (
.card__title--active
).
SQL identifiers (table names, column names) are typically written in
snake_case
(
user_id
,
created_at
). SQL keywords are often written in
UPPERCASE
by convention (
SELECT
,
WHERE
,
JOIN
), though this is a style preference and not enforced by most databases.
Go uses
camelCase
for private (unexported) identifiers and
PascalCase
for exported (public) identifiers. There is no convention for constants being
SCREAMING_SNAKE_CASE
in Go — constants use the same exported/unexported rule as variables.
Ruby uses
snake_case
for variables, methods, and file names. Classes and modules use
PascalCase
. Constants in Ruby use
SCREAMING_SNAKE_CASE
. Rails follows these conventions strictly, and the framework's autoloading system relies on the mapping between
PascalCase
class names and
snake_case
file names.
Title case is more nuanced than simply capitalizing every word. Different style guides have different rules about which words to capitalize. Here is a comparison of the three most widely used style guides.
| Word Type | AP Stylebook | Chicago Manual of Style | APA Style |
|---|---|---|---|
| First and last word | Always capitalize | Always capitalize | Always capitalize |
| Nouns, verbs, adjectives, adverbs | Capitalize | Capitalize | Capitalize all words 4+ letters |
| Articles: a, an, the | Lowercase | Lowercase | Lowercase |
| Short conjunctions: and, but, or | Lowercase | Lowercase (≤3 letters) | Lowercase |
| Short prepositions: in, on, at, to | Lowercase (≤3 letters) | Lowercase (≤4 letters) | Lowercase |
| Infinitive "to" | Lowercase | Lowercase | Lowercase |
Our case converter follows the AP Stylebook convention as default, which is most widely used in digital publishing, journalism, and online content. Words of four or more letters are always capitalized; articles, short conjunctions, and short prepositions are lowercased unless they appear at the start or end of the title.
.txt
file from your device.
Answers to the most common questions about text case formats and this tool.
helloWorldExample
. It is named after the hump-like appearance of the capital letters. camelCase is the standard for variable names, function names, and object property names in JavaScript, Java, TypeScript, Swift, Kotlin, and for JSON keys in most REST APIs.
myVariableName
), while PascalCase (also called UpperCamelCase) starts with an uppercase letter (
MyVariableName
). In JavaScript, variables and functions use camelCase while classes use PascalCase. In React, all component names must be PascalCase to be recognized as custom components by the JSX compiler.
user_first_name
). It is the official naming convention in Python (per PEP 8) for variables, functions, module names, and method names. It is also standard in SQL for table and column names, Ruby for methods and variables, and in file naming conventions across many Unix-based systems. SCREAMING_SNAKE_CASE (uppercase with underscores) is used for constants and environment variables across most programming languages.
my-css-class
). It is the standard for CSS class names and IDs, HTML custom data attributes (
data-user-id
), URL slugs (
/blog/my-article-title
), and configuration keys in frameworks like Vue.js, Angular, and many JSON config files. It is also used in HTTP header names (e.g.,
Content-Type
,
X-Forwarded-For
) in SCREAMING-KEBAB form.
hello.world.example
). It is commonly used in Java properties files (
spring.datasource.url
), Gradle build configuration keys, and some logging and telemetry systems. It can also represent hierarchical namespaces or object paths in configuration management tools.
.txt
,
.md
,
.csv
,
.js
,
.css
, or
.json
file using the Upload TXT button. The tool will process the entire file in your browser. Enable the "Preserve newlines" option to convert each line independently, which is ideal for converting lists of variable names, SQL column names, or CSV values. You can then download the result using the Download TXT button.
All conversions run entirely in your browser. No text you enter is sent to any server, stored, or logged. The tool is safe to use with sensitive data, API keys, config values, or private documents.
Inconsistent naming conventions cause bugs, linter errors, failed imports, and broken APIs. In Python, calling a function with
CamelCase
instead of
snake_case
raises a NameError. In React, lowercase component names are interpreted as native DOM elements, causing unexpected rendering behavior.
Use this tool to quickly reformat text when switching between documentation and code, converting data from external APIs that use
snake_case
to JavaScript's preferred
camelCase
, or generating URL slugs and CSS class names from plain English titles.
Explore more free online text tools from IndexCraft to complement your workflow.