Glyph WidgetsGlyph Widgets
О проектеКонтактыБлогКонфиденциальностьУсловияПоддержать на Ko-fi

© 2026 Glyph Widgets. Все права защищены.

·

100% обработка на стороне клиента

Вернуться в блог

Case Converter: Title, Upper, Snake Case

Case Converter transforms text to uppercase, lowercase, title case, camelCase, snake_case, kebab-case, and 12 more formats instantly.

Glyph Widgets
27 февраля 2026 г.
10 min read
case convertertext case converteruppercase converterlowercase convertertitle case converter

What Is Case Converter?

Case Converter is a free online tool that transforms text between 16 different case formats in real time. It handles everyday writing formats like UPPERCASE, lowercase, Title Case, and Sentence case, as well as developer-specific formats like camelCase, PascalCase, snake_case, kebab-case, and CONSTANT_CASE. It also includes novelty formats such as aLtErNaTiNg, random, superscript, subscript, strikethrough, bubble, and fullwidth.

The tool solves a common problem across writing and development: the same word or phrase needs to appear in different contexts with different capitalization or formatting conventions, and doing it manually is error-prone and tedious. All processing runs in your browser using Unicode-aware JavaScript. The tool is free with no account required.

Key Features

  • UPPERCASE — All letters to uppercase using JavaScript's toUpperCase().
  • lowercase — All letters to lowercase using toLowerCase().
  • Title Case — Capitalizes the first letter of every word using a Unicode-aware regex /(^|\s)(\p{L})/gu. The pattern matches any Unicode letter, not just ASCII.
  • Sentence case — Capitalizes only the first letter of the entire text. Uses Intl.Segmenter for grapheme-aware detection, correctly handling emoji or combining characters at the start of input.
  • camelCase — Removes non-alphanumeric characters and capitalizes the first letter of each word after the first. hello world becomes helloWorld.
  • PascalCase — Same as camelCase but also capitalizes the first word. hello world becomes HelloWorld.
  • snake_case — Inserts underscores at camelCase boundaries and between whitespace-separated words, then lowercases everything. helloWorld becomes hello_world.
  • kebab-case — Same as snake_case but uses hyphens. helloWorld becomes hello-world.
  • CONSTANT_CASE — snake_case logic but uppercased. helloWorld becomes HELLO_WORLD.
  • aLtErNaTiNg — Alternates lowercase and uppercase by character index (even index = lowercase, odd = uppercase).
  • rAnDom — Randomly assigns upper or lowercase to each character using Math.random().
  • Sᵘᵖᵉʳˢᶜʳⁱᵖᵗ, Sᵤᵦₛ꜀ᵣᵢₚₜ, S̶t̶r̶i̶k̶e̶, Ⓑⓤⓑⓑⓛⓔ, Fullwidth — Unicode styling formats that replace standard characters with Unicode lookalikes.
  • Shareable URL — The tool syncs up to 200 characters of input and the selected case to the URL, so you can share a pre-loaded state with a link.
  • Save to Snippets — Save the output text to a named snippet for later retrieval (supporter feature).

How to Use Case Converter

Step 1: Select a Case Format

Sixteen case buttons are displayed at the top. Each button shows the format name (and a hover tooltip with an example). Click the format you want. The selected button highlights.

Common selections by use case:

  • Writing and documents: UPPERCASE, lowercase, Title Case, Sentence case
  • JavaScript/TypeScript variables and functions: camelCase
  • JavaScript/TypeScript classes and components: PascalCase
  • Python variables and file names: snake_case
  • CSS class names and HTML attributes: kebab-case
  • Constants in most languages: CONSTANT_CASE
  • Social media and fun: aLtErNaTiNg, rAnDom, bubble, fullwidth

Step 2: Type or Paste Your Text

Click the Input textarea and type or paste. The character count is displayed above the input. Output updates immediately — no button press is needed.

Step 3: Review the Output

The Output panel on the right shows the converted text. The label above it updates to reflect the active format (e.g., "camelCase output"). The character count of the output is shown.

Example: camelCase conversion

Input: get user profile data Output: getUserProfileData

Example: snake_case conversion

Input: getUserProfileData Output: get_user_profile_data

Example: Title Case conversion

Input: the quick brown fox jumps over the lazy dog Output: The Quick Brown Fox Jumps Over The Lazy Dog

Example: Sentence case conversion

Input: THE QUICK BROWN FOX Output: The quick brown fox

Step 4: Copy, Save, or Share

Three actions are available in the action bar below the panels:

  • Copy Result — Copies the output text to the clipboard.
  • Save to Snippets — Saves the output to the snippet library for retrieval later (supporter feature).
  • Clear — Empties the input field.

The Share buttons at the bottom of the page generate a shareable URL that encodes up to 200 characters of the current input text and the selected case format.

Practical Examples

Renaming Variables During a Refactor

You are renaming database column names (snake_case) to TypeScript property names (camelCase). Paste user_first_name, select camelCase, and get userFirstName. Process each column name in seconds.

Preparing Headings for a Document

You have a list of headings written in all lowercase from a notes dump. Paste the list (one per line), select Title Case. Each line becomes properly capitalized without touching them individually.

Generating CSS Class Names From Design System Names

Your design tokens use spaces and mixed case: Primary Background Color. Select kebab-case to get primary-background-color, ready to use as a CSS custom property name or Tailwind class.

Creating a Social Media Post in Fullwidth

Fullwidth converts ASCII characters to their Unicode fullwidth equivalents (e.g., HELLO becomes HELLO). This produces distinctive-looking text for social media display without any special formatting tools.

Tips and Best Practices

camelCase and PascalCase strip punctuation. Both formats remove any character that is not a Unicode letter or digit and use it as a word boundary. hello-world, hello_world, and hello world all produce the same result. This makes them useful for converting from any delimiter-separated format.

snake_case and kebab-case handle existing camelCase. The conversion recognizes camelCase transitions (a lowercase letter followed by an uppercase letter) and inserts the separator at that boundary. helloWorld becomes hello_world without needing spaces in the input.

Sentence case lowercases everything except the first character. If your input has intentional proper nouns in the middle of the text, Sentence case will lowercase them. For text where mid-sentence proper nouns must be preserved, use a different approach.

The shareable URL truncates at 200 characters. The URL encoding only captures the first 200 characters of the input. Longer texts can be processed in the tool, but only the first 200 characters appear in the shared URL. The full text remains in the tool for the current session.

alternating and random are not reversible. There is no inverse transform for these formats because they do not encode information about the original case. Use them for display purposes only, not for data that needs to be round-tripped.

Batch mode applies the selected case to each line independently. Each line in the batch input is converted separately. This is useful for converting a list of identifiers in bulk.

Common Issues and Troubleshooting

camelCase output starts with a lowercase letter but I need uppercase. Use PascalCase instead. PascalCase capitalizes the first word as well, giving HelloWorld instead of helloWorld.

Title Case is capitalizing short words like "the" and "a". The tool's Title Case capitalizes every word (using the regex /(^|\s)(\p{L})/gu). It does not apply Chicago Manual of Style or AP style rules about short connecting words. If your style guide requires smart title case (skipping articles and prepositions), you would need to apply those rules manually after conversion.

Sentence case is lowercasing all my text. Sentence case applies toLowerCase() to everything after the first grapheme. This is by design — it produces standard sentence capitalization. If you have acronyms or proper nouns mid-sentence that should stay uppercase, preserve them manually after conversion.

snake_case is not inserting underscores in the right places. The snake_case logic replaces camelCase transitions and whitespace with underscores. If your input has unusual delimiters (e.g., dots, slashes), those are not treated as word separators by the current implementation. Pre-process by replacing those delimiters with spaces first.

The output is identical to the input. This is expected for certain combinations: applying lowercase to already-lowercase text, or UPPERCASE to already-uppercase text, produces no visible change.

Privacy and Security

Case Converter processes your text entirely in your browser. The convertCase function uses JavaScript string methods and Unicode-aware regular expressions — no external services or APIs are contacted. The shareable URL embeds up to 200 characters of text as URL parameters, but this is only activated when you click a share button. Normal use does not put your text in the URL. No text is sent to any server.

Frequently Asked Questions

Is Case Converter free? Yes, completely free. All 16 case formats, the shareable URL feature, and the clipboard copy are available without payment or account. Supporter features (presets, history, batch mode, save to snippets) require a Glyph Widgets supporter subscription.

Does it work offline? Yes. All case conversions use browser-native JavaScript string methods and regular expressions. No network request is made during conversion. Once the page loads, the tool works without an internet connection.

Is my text safe? Your text is never sent to any server. All processing is local. The only exception is the shareable URL feature, which encodes up to 200 characters into a URL that you then choose to share — no data is sent to Glyph Widgets servers as part of this feature.

What is the difference between camelCase and PascalCase? Both join words without spaces and capitalize the first letter of each word after the first. The difference is the first word: camelCase keeps it lowercase (helloWorld), while PascalCase capitalizes it (HelloWorld). PascalCase is used for class names in most languages; camelCase is used for variable and function names in JavaScript, TypeScript, and Java.

What is CONSTANT_CASE used for? CONSTANT_CASE (also called SCREAMING_SNAKE_CASE) is used for constants in many programming languages: MAX_RETRY_COUNT, API_BASE_URL, DEFAULT_TIMEOUT. It signals to readers that the value is a constant that should not change.

Does Title Case work with non-English text? Yes. The regex uses the Unicode property \p{L} (any letter in any language) to identify word-initial letters. It will capitalize the first letter of each word in French, Spanish, German, and other languages that have lowercase/uppercase distinctions.

Why does Sentence case sometimes not capitalize the first letter? Sentence case uses Intl.Segmenter to find the first grapheme (user-perceived character). If the text starts with a non-letter character (a number, punctuation, or an emoji), the tool keeps that character unchanged and lowercases the rest. This is correct behavior — there is no letter to capitalize at the start.

How does the alternating case work exactly? It maps over Array.from(text) (which handles multi-byte Unicode characters correctly as individual items) and applies toLowerCase() to even-indexed characters and toUpperCase() to odd-indexed characters. Character 0 is lowercase, character 1 is uppercase, and so on.

Can I convert an entire document? Yes. The textarea has no character limit enforced in the UI. For very large documents, conversion may take a moment on slower devices, but there is no hard cap. The shareable URL only encodes the first 200 characters.

What do the Unicode styling formats (superscript, subscript, bubble, fullwidth) actually do? They replace standard ASCII characters with visually similar Unicode characters from other blocks: superscript numerals and letters, combining characters for strikethrough, enclosed alphanumeric characters for bubble text, and fullwidth forms for a wide-character appearance. These are cosmetic formats and the resulting characters may not be readable by screen readers or searchable as normal text.

Related Tools

  • Word Counter — Count words and characters in your text before or after conversion.
  • Text Reverser — Reverse characters, words, or lines.
  • Find and Replace — Replace specific patterns in text, including regex support.

Try Case Converter now: Case Converter

Последнее обновление: 27 февраля 2026 г.

Продолжить чтение

Ещё статьиПопробовать Case Converter