How-To Guides

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.

By · July 2, 2026 · 7 min read · Updated July 2026
Key Takeaways

  • 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.

1

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.

2

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.

3

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
The reason programming communities converged on different cases is partly historical (C used lowercase, Java used camelCase, SQL used UPPERCASE) and partly technical — some systems are case-sensitive and some are not, and naming conventions evolved to avoid ambiguity within each ecosystem. Based on PEP 8 (Python), Google JavaScript Style Guide, MDN Web Docs CSS naming conventions

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.

The snake_case convention for database column names comes from SQL's historically case-insensitive identifier handling combined with the readability advantage of underscores over capitalization in a monospaced query environment. When these identifiers surface in UI, the convention needs to be reversed. SQL naming conventions; PostgreSQL and MySQL documentation on identifier case handling

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.

Frequently asked questions
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.