Text Case Converter Online Free — UPPERCASE, lowercase, Title Case & More
Whether you're formatting a blog post headline, naming a JavaScript variable, or cleaning up database column labels, text case matters. The wrong case in a URL slug can hurt SEO; the wrong case in a code variable triggers a syntax error. This guide covers every major case format, when to use each one, and how to convert between them instantly with a free browser-based tool.
- 10 case formats covered: UPPERCASE, lowercase, Title Case, Sentence case, camelCase, PascalCase, snake_case, kebab-case, SCREAMING_SNAKE_CASE, dot.case
- Developer conventions: camelCase for JS variables, PascalCase for classes, snake_case for Python/DB, kebab-case for CSS/URLs
- Title Case rules differ by style guide — AP, Chicago, and APA all capitalize differently
- Sentence case is now preferred over Title Case for most UI labels and subheadings
- Convert instantly at fusionpdf.pro/text-case-converter — free, no sign-up
Most people know UPPERCASE and lowercase. Developers know camelCase and snake_case. But there are ten distinct case formats in regular use across writing, coding, and data work — and a free online converter handles all of them in a single click.
All 10 Case Formats Explained
Text case refers to the pattern of uppercase and lowercase letters within words, and whether word boundaries are marked by capitalization, underscores, hyphens, or dots. Different disciplines have settled on different conventions: technical writing uses Title Case for headings, programming languages each have a preferred format for identifiers, and databases use snake_case for column names. The same phrase "user first name" looks completely different in every format.
| Format | Example | Typical use |
|---|---|---|
| UPPERCASE | USER FIRST NAME |
Acronyms, labels, emphasis, constants in some languages |
| lowercase | user first name |
Body text, email addresses, informal contexts |
| Title Case | User First Name |
Article titles, book titles, headings, navigation labels |
| Sentence case | User first name |
UI labels, subheadings in docs, blog post subtitles |
| camelCase | userFirstName |
JavaScript/TypeScript variables and functions |
| PascalCase | UserFirstName |
Classes, React components, C# types |
| snake_case | user_first_name |
Python variables, Ruby, database column names |
| kebab-case | user-first-name |
CSS class names, HTML attributes, URL slugs |
| SCREAMING_SNAKE_CASE | USER_FIRST_NAME |
Constants in Python, C, environment variables |
| dot.case | user.first.name |
Configuration keys (Java properties, some config files) |
The example "user first name" above illustrates something important: the same underlying data concept looks radically different depending on context. Mixing conventions — say, using UserFirstName as a CSS class name instead of user-first-name — is a common source of inconsistency in codebases and content systems.
How to Convert Text Case in 3 Steps
FusionPDF's text case converter handles all ten formats above in a single tool. Conversion happens entirely in your browser — no text is sent to any server. There's no sign-up, no character limit for typical use, and no wait time. Paste, click, copy.
Paste your text. Go to fusionpdf.pro/text-case-converter and paste or type any text into the input box — a single word, a sentence, a paragraph, or a list of variable names. There's no required format.
Select the target case format. Click the button for the format you want: UPPERCASE, lowercase, Title Case, Sentence case, camelCase, PascalCase, snake_case, kebab-case, SCREAMING_SNAKE_CASE, or dot.case. The output updates instantly — no page reload, no submit button.
Copy the converted text. Click the Copy button to send the result to your clipboard. Paste it directly into your code editor, CMS, spreadsheet, or wherever you need it. Switch between formats as many times as you like on the same input.
Tip for bulk conversion: If you have a list of variable names or column names to convert (one per line), paste the entire list at once. The converter processes each line independently for camelCase, snake_case, and other word-boundary formats, so you can convert a full list of identifiers in one operation.
Developer Naming Conventions by Language
Every major programming language has a community-wide naming convention for different types of identifiers. These aren't arbitrary preferences — they're enforced by linters, expected by frameworks, and required by style guides. Using the wrong case in a codebase makes your code look like it was written by someone unfamiliar with the language, and it breaks automated tooling that depends on naming patterns.
JavaScript and TypeScript
JavaScript's naming conventions are the most widely documented, reinforced by ESLint rules and the AirBnB and Google style guides:
- camelCase for variables and functions:
getUserName,totalPrice,fetchUserData - PascalCase for classes and React components:
UserProfile,ShoppingCart,ApiClient - SCREAMING_SNAKE_CASE for constants (module-level values that never change):
MAX_RETRY_COUNT,API_BASE_URL - kebab-case for file names:
user-profile.js,shopping-cart.tsx
Python
Python's naming conventions are defined in PEP 8, the official Python style guide, and are enforced by tools like Flake8 and Black:
- snake_case for variables, functions, and module names:
user_first_name,get_user_by_id - PascalCase for class names:
UserProfile,DataProcessor - SCREAMING_SNAKE_CASE for constants:
MAX_CONNECTIONS,DEFAULT_TIMEOUT - snake_case for package and file names:
user_utils.py,data_processor.py
Ruby and Ruby on Rails
Ruby follows similar conventions to Python for code, but Rails adds framework-specific rules for database and file naming:
- snake_case for variables, methods, and symbols:
user_name,:first_name - PascalCase for classes and modules:
UserAccount,ApplicationRecord - snake_case for database table names (Rails convention):
user_accounts,order_items
CSS and HTML
CSS has no variables in the traditional sense, but class names and custom properties have a clear community standard:
- kebab-case for class names and IDs:
.nav-link,.hero-section,#main-content - kebab-case for CSS custom properties:
--primary-color,--font-size-base - kebab-case for HTML attributes:
data-user-id,aria-label
Title Case Rules: AP Style vs Chicago vs APA
Title Case sounds simple — capitalize important words, lowercase small ones. But three major style guides disagree on exactly which words count as "important," and the differences are frequent enough to matter in practice. If you're writing for a publication, following the wrong style guide is a visible signal to editors.
The universal rules (all style guides agree)
Regardless of which style guide you follow, these rules are consistent:
- Always capitalize the first word of a title, even if it would normally be lowercase
- Always capitalize the last word of a title
- Always capitalize nouns, verbs, adjectives, and adverbs
- Never capitalize articles (a, an, the) when they appear in the middle of a title
Where the style guides diverge
| Word type | AP Style | Chicago Style | APA Style |
|---|---|---|---|
| Prepositions (in, on, at, by, for…) | Lowercase if 3 letters or fewer | Lowercase if under 5 letters | Lowercase (all lengths) |
| Coordinating conjunctions (and, but, or, nor) | Lowercase | Lowercase | Lowercase |
| "To" in infinitives | Lowercase | Lowercase | Capitalize |
| Prepositions over 4 letters (between, through, without) | Capitalize | Capitalize | Lowercase |
| Hyphenated compounds (e.g. "Self-Aware") | Capitalize both parts | Capitalize major parts only | Capitalize both parts |
In practice, most web content follows a simplified version closer to AP Style: capitalize nouns, verbs, adjectives, and adverbs; lowercase articles (a, an, the), short prepositions (in, on, at, for, of, to), and coordinating conjunctions (and, but, or, nor, yet, so). When in doubt, this rule covers 95% of cases correctly.
Note on automated converters: Most online Title Case converters (including ours) implement the AP Style simplified rule. Edge cases like hyphenated compounds and brand names with unconventional capitalization may need manual review. The converter is a time-saver for the 95% of straightforward cases, not a replacement for editorial judgment on complex titles.
Sentence Case vs Title Case — When to Use Each
Title Case was the default for headings in both print and web for decades. That's changing. Major design systems — Google's Material Design, GitHub, Linear, Notion, and many others — have shifted to Sentence case for UI labels, navigation items, and subheadings. Understanding why helps you apply the right choice to your own content.
Use Title Case for
- Blog post and article titles: "How to Build a React App from Scratch"
- Book and publication titles: "The Pragmatic Programmer"
- Formal document headings: reports, white papers, legal documents
- Navigation items on marketing sites where conventional formality is appropriate
- Press release headlines (always Title Case in journalism)
Use Sentence case for
- UI button labels and form labels: "Save changes", "Upload file", "First name"
- Subheadings in documentation: "How authentication works", "Setting up your environment"
- Error messages and notifications: "Something went wrong, please try again"
- Mobile app interfaces where screen space makes Title Case look cluttered
- Internal tools and dashboards where readability over formality is the goal
The practical reason design teams prefer Sentence case for UI is readability at scale: when an interface has dozens of labels, Title Case forces readers to parse capitalization to determine which words are "important," while Sentence case reads naturally at a glance. For H1 titles on a page, Title Case still signals "this is the headline" more clearly.
Converting Database Column Names to Display Labels
One of the most common practical use cases for a case converter is transforming database column names into human-readable display labels for a UI or report. Database columns follow snake_case by convention. Display labels need Title Case or Sentence case. This is a conversion most developers do dozens of times per project, and doing it manually is tedious and inconsistent.
Here are some typical conversions:
| Database column (snake_case) | Display label (Title Case) |
|---|---|
user_first_name |
User First Name |
date_of_birth |
Date of Birth |
email_address |
Email Address |
is_active |
Is Active |
total_order_value |
Total Order Value |
created_at |
Created At |
Paste a list of column names — one per line — into the converter and click Title Case. Each line is processed independently. What would take several minutes of manual editing takes a few seconds. The converter also handles camelCase input (from JSON fields or JavaScript objects) and converts correctly to spaced Title Case.
FusionPDF vs convertcase.net vs Word Find/Replace
There are three common ways people convert text case today: a dedicated online converter, Microsoft Word's built-in case cycling, and manual find/replace. Each has real trade-offs. Here's an honest comparison based on actual use.
| Method | Formats supported | Developer formats (snake, camel…) | Bulk conversion | No sign-up |
|---|---|---|---|---|
| FusionPDF Text Case Converter | 10 formats | Yes — all 6 | Yes | Yes |
| convertcase.net | 8 formats | Partial (camel, snake, kebab) | Yes | Yes |
| Word (Shift+F3) | 3 formats only | No | No (selection only) | Yes (if you own Word) |
| Manual find/replace (regex) | Anything, but complex | Yes, with regex knowledge | Yes | Yes |
Word's Shift+F3 shortcut is convenient for quick lowercase/UPPERCASE/Title Case toggling on selected text — no context switching needed. But it doesn't handle any developer formats, and Title Case in Word sometimes capitalizes words that should stay lowercase (like "and" or "of" in a title).
Manual find/replace with regex is the most flexible approach but has a steep learning curve. Converting camelCase to snake_case with regex requires a pattern like ([A-Z]) → _\1 followed by a lowercase pass — not obvious if you don't use regex regularly. For most people, a dedicated converter is faster.
convertcase.net is a solid alternative for basic needs. FusionPDF's converter adds SCREAMING_SNAKE_CASE and dot.case support, which matter specifically for Python constants and Java/Spring configuration keys.
Watch out for proper nouns in automated conversion: Every automated Title Case converter, including this one, will incorrectly lowercase or capitalize proper nouns in some cases. "iPhone" becomes "Iphone", "macOS" becomes "Macos", and "YouTube" becomes "Youtube" in a simple Title Case pass. Always review output for brand names and product names before publishing.
What is the difference between Title Case and Sentence case?
Title Case capitalizes the first letter of every major word — nouns, verbs, adjectives, and adverbs — while leaving short articles, prepositions, and conjunctions lowercase. Example: "The Quick Brown Fox Jumps Over the Lazy Dog." Sentence case only capitalizes the very first word of the text and any proper nouns, exactly as you would write a normal sentence. Example: "The quick brown fox jumps over the lazy dog." Title Case is conventional for article and blog post titles. Sentence case is now the standard for UI labels, button text, subheadings in technical documentation, and most design systems including Google's Material Design.
Does camelCase hurt SEO?
camelCase in URL slugs can hurt SEO. Most web servers treat URLs as case-sensitive, which means /myBlogPost and /myblogpost resolve to two separate URLs — potentially creating duplicate content issues. Google recommends lowercase URLs with hyphens as word separators (kebab-case): /my-blog-post. For JavaScript variable names and function names inside your code, camelCase has zero SEO impact — search engines don't index JavaScript identifiers. The camelCase-hurts-SEO concern applies only to URLs and slugs, not code.
How do I convert snake_case in Python?
Python has no built-in case converter, but common conversions are one-liners. To convert snake_case to Title Case: ' '.join(word.capitalize() for word in 'user_first_name'.split('_')) returns 'User First Name'. To convert snake_case to camelCase: parts = 'user_first_name'.split('_'); ''.join([parts[0]] + [p.capitalize() for p in parts[1:]]) returns 'userFirstName'. To convert camelCase to snake_case (using regex): import re; re.sub(r'(?<!^)(?=[A-Z])', '_', 'userFirstName').lower() returns 'user_first_name'. For multi-format conversion in projects, the humps package (pip install pyhumps) handles all common cases cleanly.
What case should I use for CSS class names?
Use kebab-case for CSS class names. This is the universal convention across plain CSS, BEM (Block Element Modifier), Tailwind CSS, and SCSS. Examples: .nav-link, .hero-section, .btn-primary, .card-header. kebab-case is entirely lowercase with hyphens as word separators, which makes it consistent with how HTML attributes are written (data-user-id, aria-label). Avoid camelCase (.navLink) or PascalCase (.NavLink) in CSS — they work technically, but every CSS linter, framework, and design system convention expects kebab-case, and mixing the two creates unnecessary inconsistency.
Is there a keyboard shortcut for case conversion?
Most editors and word processors have shortcuts for basic case conversion. In Microsoft Word and Google Docs: select text and press Shift+F3 to cycle through lowercase, UPPERCASE, and Title Case. In VS Code: open the Command Palette with Ctrl+Shift+P and type "Transform to Uppercase" or "Transform to Lowercase" — there's no default key binding, but you can assign one in Keyboard Shortcuts. In JetBrains IDEs (IntelliJ, WebStorm, PyCharm): Ctrl+Shift+U toggles between UPPERCASE and lowercase on the selection. For developer formats like camelCase, snake_case, kebab-case, and PascalCase, no mainstream editor has built-in shortcuts. A free online converter like fusionpdf.pro/text-case-converter is the fastest option for those formats.
Convert Text Case Instantly — Free, No Sign-Up
UPPERCASE, lowercase, Title Case, camelCase, snake_case, kebab-case, and 4 more formats. Paste your text, click a button, copy the result. Everything runs in your browser.