Case Converter — UPPERCASE, lowercase, camelCase & More
Convert text between UPPERCASE, lowercase, Title Case, Sentence case, camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE and 6 more formats instantly. Free, browser-only, no signup.
Text cases
lowercase
All letters lowercase. Whitespace preserved.
UPPERCASE
All letters uppercase. Whitespace preserved.
Title Case
First letter of every word capitalized.
Sentence case
First letter of every sentence capitalized.
iNVERSE cASE
Swap upper/lower for every letter.
aLtErNaTiNg cAsE
Alternate lower/upper per letter.
RaNdOm CaSe
Coin-flip each letter independently.
Programming cases
camelCase
First word lowercase, rest capitalized, no separators.
PascalCase
Every word capitalized, no separators.
snake_case
Lowercase, joined by underscores.
kebab-case
Lowercase, joined by hyphens.
CONSTANT_CASE
Uppercase, joined by underscores.
dot.case
Lowercase, joined by dots.
path/case
Lowercase, joined by forward slashes.
Header-Case
Each word capitalized, joined by hyphens.
What Is a Case Converter?
A case converter is a small utility that takes a piece of text and re-renders it in a different letter-case convention. The simplest forms are UPPERCASE and lowercase — flip every letter to one case. The richer forms apply linguistic rules (Title Case capitalizes the first letter of every word, Sentence case capitalizes the first letter of each sentence) or programming-naming rules (camelCase joins words by capitalizing each one after the first; snake_case lowercases everything and joins with underscores). Online case converters have existed for as long as the web has had textareas, because the conversion is mechanically simple but tedious to do by hand for any non-trivial amount of text.
The text-case family is the one writers, editors, marketers, and journalists reach for. UPPERCASE and lowercase are useful for matching house style or removing shouty ALL-CAPS from a forwarded email. Title Case is for headings and book titles. Sentence case is the modern web standard for body text, UI microcopy, button labels, and captions — Google, Apple, and Microsoft's style guides all converged on it over the last decade. The mocking variants (iNVERSE cASE, aLtErNaTiNg cAsE, RaNdOm CaSe) come from internet culture, particularly the "spongebob meme" used to sarcastically quote someone; alternating case is the strict deterministic variant, random case is the chaotic one.
The programming-case family is the one developers use every single day. camelCase is the standard for JavaScript, Java, Swift, and Kotlin identifiers. PascalCase is the standard for class names in most object-oriented languages and component names in React, Vue, and Angular. snake_case is the standard for Python, Ruby, Rust, and Elixir, plus most database column names. kebab-case is the standard for CSS class names, URL slugs, and HTML attributes. CONSTANT_CASE is the standard for environment variables, top-level constants, and macro names. dot.case is used for namespacing (Java packages, MongoDB field paths). path/case is used for URLs and filesystem paths. Header-Case is the canonical HTTP/1.1 header convention (Content-Type, Access-Control-Allow-Origin).
Under the hood, the interesting engineering is the tokenizer that splits an input string into its semantic words. It's easy to split on whitespace; the hard part is recognizing word boundaries that don't have a whitespace separator. The standard convention — used by lodash, the change-case npm package, Python's PEP 8, and most real-world codebases — inserts a boundary at three transitions: lower-to-upper (parseHTML → parse / HTML), upper-to-upper-to-lower (XMLHttpRequest → XML / Http / Request), and letter-to-digit / digit-to-letter (file2x → file / 2 / x). Plus the explicit separators: hyphen, underscore, dot, slash, backslash. With that single tokenizer, you can paste an identifier in any case — camelCase, snake_case, kebab-case, mixed — and convert to any other case cleanly without manual cleanup.
The tool you're using runs the tokenizer and all 15 transforms entirely in your browser using JavaScript. There's no network call, no server, no logging, no cookie that records what you type. The output for every case updates on every keystroke with no debounce delay. The Copy button on each card writes only that one case to your clipboard. Re-shuffle re-rolls the random case without disturbing the other outputs. Everything is designed for the speed of actual work — paste, scan, copy, paste somewhere else.
For related text tooling, the word counter handles length and reading-time metrics, the text diff compares two pieces of text line by line, and the regex tester verifies pattern matches against sample input. Together they cover most of the text-shaping work a developer or content worker does in a browser.
// The tokenizer that powers every programming-case conversion
function tokenize(input) {
return input
.replace(/([a-z0-9])([A-Z])/g, '$1 $2') // lower→upper: parseHTML → parse HTML
.replace(/([A-Z]+)([A-Z][a-z])/g, '$1 $2') // acronym boundary: XMLHttp → XML Http
.replace(/([A-Za-z])(\d)/g, '$1 $2') // letter→digit: file2 → file 2
.replace(/(\d)([A-Za-z])/g, '$1 $2') // digit→letter: 2x → 2 x
.replace(/[\s\-_./\\]+/g, ' ') // collapse separators
.split(' ').filter(Boolean);
}
// Then each case is a one-liner over the tokens
const camelCase = (s) => tokenize(s).map((t, i) => i === 0 ? t.toLowerCase() : cap(t)).join('');
const snakeCase = (s) => tokenize(s).map(t => t.toLowerCase()).join('_');
const kebabCase = (s) => tokenize(s).map(t => t.toLowerCase()).join('-');
const PascalCase = (s) => tokenize(s).map(cap).join('');
function cap(t) {
return t.charAt(0).toUpperCase() + t.slice(1).toLowerCase();
} Key Features
All 15 Cases Visible At Once
Paste your text and every case renders instantly in a two-column grid. No need to pick a format first or step through a dropdown — scan the grid, copy the one you need. The text cases and programming cases are split into separate sections so you can find the right card in one glance.
Smart Tokenizer for Programming Cases
Recognizes lower-to-upper boundaries (camelCase), upper-to-upper-to-lower boundaries (XMLHttpRequest → XML/Http/Request), letter-to-digit boundaries (file2x), and all common separators (-, _, ., /, \, whitespace). Matches the lodash and change-case npm conventions, so the output round-trips the way real codebases expect.
Per-Card Copy with Live Feedback
Each output card has its own Copy button — click once and only that one case lands in your clipboard. The label briefly switches to "Copied!" so you know it worked. No need to highlight text or right-click.
Real-Time Updates on Every Keystroke
Every case re-renders on every keystroke with no debounce delay. No Convert button to click, no page reload, no waiting. Built for the speed of actual editing — paste, scan, copy, done.
Re-Shuffle for Random Case
The Random Case output is independently re-rollable with the Re-shuffle button, without disturbing any other output or the input text. Useful when you want a different spongebob-meme variant for the same source text.
Preserves Whitespace and Punctuation
Text-case transforms (UPPERCASE, lowercase, Title, Sentence, iNVERSE, aLtErNaTiNg, RaNdOm) preserve every space, line break, and punctuation mark by design. Paste a multi-paragraph document and the formatting survives intact — only the letter casing changes.
Unicode-Aware Case Mappings
Uses the Intl-aware `toLocaleLowerCase` and `toLocaleUpperCase` methods so Turkish dotted/dotless İ/ı, German ß, Greek final-sigma, and other locale-sensitive cases handle correctly. The tokenizer recognizes letters from any script (Unicode \p{L}).
100% Browser-Based Privacy
All conversion runs locally in your browser. Your text is never uploaded, never logged, never stored, never analyzed. Safe for unannounced product names, internal variable schemes, draft press releases, and any confidential material. Zero network requests as you type — verify in your browser's Network tab.
Acronym-Preserving Round-Trip
Convert XMLHttpRequest → xml_http_request → XmlHttpRequest and the structure round-trips cleanly. The same convention as PEP 8 for Python and the change-case package for JS — no manual letter-by-letter splitting needed when migrating a codebase between case conventions.
Case Converter Alternatives Compared
lodash (_.camelCase, _.snakeCase, _.kebabCase, _.startCase)
JavaScript libraryThe reference implementation for most JS codebases. Produces identical output to this tool for the common cases. lodash uses a slightly different Unicode handling for edge cases. Use lodash in your code; use this tool for one-off conversions or quick spot-checks during a refactor.
change-case npm package
JavaScript libraryModular, tree-shakable case-conversion library — one function per case. The tokenizer in this tool matches change-case v5+'s convention exactly, so outputs are byte-identical for ASCII inputs. Use change-case when you want only camelCase or only snake_case in your bundle; use this tool for interactive conversion.
VS Code's built-in case commands
editor commandVS Code ships with `Transform to Uppercase`, `Transform to Lowercase`, and `Transform to Title Case` commands (Cmd-Shift-P → search). No camelCase, snake_case, or other programming cases out of the box; extensions like "change-case" add them. Best when your text is already in the editor; this tool is faster for clipboard-flow conversions.
convertcase.net
browser toolThe original online case converter — text cases only (UPPERCASE, lowercase, Sentence, Title, alternating, inverse). No programming cases. Has been around since the early 2000s and is still the top result for many text-case searches. This tool covers the same text cases and adds the eight programming cases as well.
Microsoft Word's Change Case (Home > Change Case)
desktop appWord has a Change Case button on the Home ribbon: Sentence case, lowercase, UPPERCASE, Capitalize Each Word, tOGGLE cASE. No programming cases. Workflow requires being in Word with the file open. Use Word when your text is already in a document; use this tool when you're in a browser tab.
Apple's Pages / TextEdit Transformations
desktop appmacOS Pages and TextEdit have Edit > Transformations: Make Upper Case, Make Lower Case, Capitalize. No camelCase, snake_case, or other programming variants. Quick for short text in those apps; not designed for code identifier work.
Online programming-case converters (e.g., camelcasse.com)
browser toolDedicated single-case converters that focus on one transform (just camelCase, just snake_case). Fewer cases to scan, more focused UI. This tool shows all 15 at once, which is faster for refactoring across multiple cases — but if you only ever need one, a single-case tool is fine.
Case Conversion Examples
ALL-CAPS Email Subject → Sentence Case
URGENT: PLEASE REVIEW THE Q4 BUDGET PROPOSAL BEFORE FRIDAY
Sentence case output: "Urgent: please review the q4 budget proposal before friday" — instantly removes the shouty all-caps tone for forwarding or polite reply. Title Case output: "Urgent: Please Review The Q4 Budget Proposal Before Friday" — if you'd rather keep it formal-headline style. Both happen at once; pick the one that fits your reply.
snake_case Variable → camelCase
user_profile_image_url
camelCase output: "userProfileImageUrl" — drop straight into JavaScript, Java, or Swift. PascalCase: "UserProfileImageUrl" — for C# / .NET property names or React component names. kebab-case: "user-profile-image-url" — for CSS classes or URL slugs. CONSTANT_CASE: "USER_PROFILE_IMAGE_URL" — for environment variables or top-level constants. One paste, four ready-to-use identifiers.
Acronym-Heavy Class Name (XMLHttpRequest)
XMLHttpRequest
The tokenizer recognizes the XML / Http / Request boundary. Outputs: snake_case → "xml_http_request", kebab-case → "xml-http-request", CONSTANT_CASE → "XML_HTTP_REQUEST", Header-Case → "Xml-Http-Request". This is exactly the convention lodash, the change-case package, and Python's PEP 8 acronym handling all use — your refactor from a JS class name to a Python module name takes one paste, not a manual letter-by-letter split.
Page Title to URL Slug (Title → kebab-case)
10 Tips for Faster JavaScript: A Complete Guide
kebab-case output: "10-tips-for-faster-javascript-a-complete-guide" — the URL-safe slug most CMSs (WordPress, Ghost, Hugo) generate by default. snake_case: "10_tips_for_faster_javascript_a_complete_guide" — for filename conventions. The tokenizer drops the colon and other punctuation cleanly; you don't have to clean the title first.
HTTP Header Name from Camel-Case (Header-Case)
accessControlAllowOrigin
Header-Case output: "Access-Control-Allow-Origin" — the exact spelling the HTTP spec uses, ready to drop into a fetch() options object or a server-side response. kebab-case: "access-control-allow-origin" — same canonical form, lowercased (some HTTP libraries use this internally). This is the fastest way to translate a JS object property into a real header name.
Constant from a Human-Readable Setting (CONSTANT_CASE)
max retries per request
CONSTANT_CASE output: "MAX_RETRIES_PER_REQUEST" — drop into a config file as `const MAX_RETRIES_PER_REQUEST = 3` or a `.env` file as `MAX_RETRIES_PER_REQUEST=3`. snake_case: "max_retries_per_request" — for Python-style module-level constants or YAML keys. Same source, two destinations, no manual editing.
Sentence to Spongebob Meme (aLtErNaTiNg cAsE)
this is fine, everything is going great
aLtErNaTiNg cAsE output: "tHiS iS fInE, EvErYtHiNg iS gOiNg GrEaT" — the canonical spongebob mocking-format. The alternation is a global toggle across letters, not per-word, matching what convertcase.net and other meme generators do. RaNdOm CaSe: independently flips each letter — useful when you want the same sarcastic energy with more chaos.
How to Use the Case Converter
- 1
Paste or type your text
Click into the editor and type, or paste any text — a sentence, a paragraph, an identifier, a heading. Every case output updates instantly. Click Sample to load a representative phrase if you just want to see how the cases differ.
- 2
Scan the grid
The seven text cases (UPPERCASE, lowercase, Title, Sentence, iNVERSE, aLtErNaTiNg, RaNdOm) are in the top section. The eight programming cases (camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, dot.case, path/case, Header-Case) are in the bottom section. Each card shows its case label, a one-line description, and the converted output.
- 3
Click Copy on the case you want
Each output card has its own small Copy button. Click once — the case lands in your clipboard, the button flashes "Copied!", and you're ready to paste somewhere else. No need to highlight the output text first.
- 4
Re-shuffle the random case if needed
If you want a different RaNdOm CaSe variant for the same text, click Re-shuffle in the action bar. Only the Random Case output changes; the input text and all other outputs stay the same.
- 5
Clear when done
Click Clear to empty the editor and reset every output. Sample reloads the demo text. All actions are instant and never sent to a server.
Common Case-Conversion Mistakes
Trying to Snake-Case a Whole Paragraph
Pasting a multi-word sentence into the snake_case output collapses it into one giant identifier — technically the correct snake_case of the input, but never what you actually want for an identifier. Use snake_case for one identifier at a time (a single variable name or compound phrase). For paragraph-length text, use the text-case transforms.
Input: "the quick brown fox jumps over the lazy dog" snake_case output: the_quick_brown_fox_jumps_over_the_lazy_dog Result: a 50-character identifier no one wants.
Input: "quickBrownFox" snake_case output: quick_brown_fox Result: a clean three-token identifier.
Expecting APA Title Case Rules
This tool's Title Case capitalizes every word — `Hello A World Of Examples` rather than the AP-style `Hello a World of Examples`. APA, Chicago, and AP style guides all lowercase short articles and prepositions in headlines. If you need APA-style headlines specifically, use a dedicated title-case tool. For general capitalization (capitalize every word), this Title Case is correct.
Input: "a tale of two cities" This tool's Title Case: A Tale Of Two Cities Expected (AP style): A Tale of Two Cities
Use this tool for general capitalization. Use an AP-style headline tool for editorial titles. Different tools, different conventions.
Assuming PascalCase Round-Trips Preserve Acronym Capitalization
XMLHttpRequest tokenizes to XML / Http / Request and re-PascalCases to XmlHttpRequest. This is the convention (it lets the tokenizer round-trip cleanly), but if your codebase preserves acronym capitalization (keeping XMLHttpRequest as XMLHttpRequest), the result won't match. Spot-check before doing a project-wide rename.
Input: XMLHttpRequest PascalCase output: XmlHttpRequest Expected (acronym-preserved): XMLHttpRequest
Accept the title-cased acronym, OR Manually preserve the acronym after conversion, OR Use a tokenizer that respects acronym hints.
Pasting URLs and Losing the Slashes
Pasting `https://example.com/api/users` into snake_case strips all the slashes and dots and produces `https_example_com_api_users` — technically correct but useless as a URL. URLs are already in path/case format; don't run them through programming-case transforms. If you want to strip the protocol or host from a URL, use a URL-parsing tool first.
Input: https://example.com/api/users snake_case output: https_example_com_api_users Result: not a URL anymore.
Input: https://example.com/api/users Leave URLs alone — they're already in the right format. For slug extraction, parse the URL path manually.
Mixing Up dot.case and Dotted-Identifier Notation
dot.case output is `user.profile.image` — lowercase tokens joined by literal dots, suitable for namespacing (Java packages, MongoDB field paths, TOML keys). It's not the same as JavaScript property-access notation (`user.profile.image` looks identical but means "the image property of the profile property of user"). If you need a property-access path, dot.case happens to produce the right string by coincidence; if you need a programming identifier, use camelCase or snake_case instead.
Goal: "set the user.profile.image variable" Using dot.case output as a variable name: `user.profile.image` In most languages this is property access, not an identifier.
For a single variable: userProfileImage (camelCase). For a namespaced key: user.profile.image (dot.case is correct). Match the case to the target syntax.
Expecting Sentence Case to Handle Abbreviations
Sentence case treats every `.` followed by whitespace as a sentence boundary, including `Mr. Smith arrived.` which becomes `Mr. Smith arrived.` correctly, but `e.g. this example` becomes `E.g. This example` (the `g.` is mistreated as a sentence terminator). False positives on abbreviations are a known limitation of every regex-based sentence detector; for editorial precision, hand-edit the output.
Input: "e.g. this is an example. Read more." Sentence case output: "E.g. This is an example. Read more." The `g.` was mistakenly treated as a sentence terminator.
Run sentence case first, then hand-fix the few abbreviation edge cases. Or re-phrase to avoid sentence-internal periods. (NLP-grade sentence detection is a separate tool category.)
Who Uses This Tool
- Developers Renaming Identifiers Across Languages
- Migrating a JS variable to a Python snake_case name, or a CSS class to a React PascalCase component, or an environment variable to a config constant. Paste the source name once, copy the right output — no manual letter-by-letter conversion.
- Backend Devs Translating Header Names
- HTTP headers like Content-Type, Access-Control-Allow-Origin, X-Forwarded-For have specific Header-Case spellings. Paste a camelCase JS property name, copy the canonical header form — works for fetch() options, server middleware, and proxy configs.
- Writers Removing ALL-CAPS Email Tone
- Forwarded all-caps emails and chat messages read as shouting. Paste them into Sentence case to defuse the tone, or Title Case to keep a polished-headline feel. Whitespace and punctuation survive intact.
- Marketers Drafting Headlines
- Title Case for headlines, Sentence case for body copy and captions — the convention most modern style guides (AP, Google, Apple) recommend. See both at once to compare which fits the placement.
- SEO Specialists Generating URL Slugs
- kebab-case is the URL-slug convention every CMS expects. Paste a page title with punctuation and capitalization, copy the kebab-case output — ready to drop into a WordPress, Ghost, or Hugo slug field. Tokenizer strips punctuation cleanly.
- DBAs Naming Columns and Tables
- snake_case for column and table names is the universal convention across PostgreSQL, MySQL, SQLite, and most ORMs. Paste a human-readable label or a camelCase API field name, copy the snake_case version.
- Frontend Devs Authoring CSS Classes
- kebab-case for class names is the CSS spec convention (BEM, Tailwind utilities, and most design systems). Paste a JS component name in camelCase, copy the kebab-case version for the matching CSS module.
- Meme-Makers and Sarcasm Enthusiasts
- aLtErNaTiNg cAsE and RaNdOm CaSe are the spongebob-meme formats used to mock or quote sarcastically. Re-shuffle re-rolls the random variant without changing the input — generate a few until one feels right.
Tokenization & Conversion Rules
- Tokenization Rules
- Tokens are extracted by inserting a space at four boundaries: lower-to-upper (parseHTML → parse HTML), upper-to-upper-to-lower (XMLHttp → XML Http), letter-to-digit (file2 → file 2), and digit-to-letter (2x → 2 x). Then common separators (whitespace, hyphen, underscore, dot, slash, backslash) are collapsed to single spaces. The resulting tokens are split, trimmed, and empties dropped. This matches the lodash and change-case package conventions.
- Programming-Case Outputs Strip Punctuation
- camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, dot.case, path/case, and Header-Case all produce clean identifiers — punctuation in the input (commas, periods, parentheses) is dropped because it can't appear in most language identifiers. If you need punctuation preserved, use one of the text-case outputs (UPPERCASE, lowercase, Title, Sentence, iNVERSE, aLtErNaTiNg, RaNdOm).
- Text-Case Outputs Preserve Everything
- UPPERCASE, lowercase, Title Case, Sentence case, iNVERSE cASE, aLtErNaTiNg cAsE, and RaNdOm CaSe all preserve whitespace, line breaks, and punctuation. Paste a multi-paragraph document and the structure survives — only letter casing changes. These transforms operate character-by-character without tokenization.
- Title Case (Naive Variant)
- Title Case in this tool capitalizes the first letter of every whitespace-separated word and lowercases the rest. APA, Chicago, and AP style guides recommend lowercasing short articles and prepositions (a, an, the, of, in, for); those variants are different enough to warrant a dedicated tool. Use this Title Case for general capitalization; use a headline-specific tool for AP-style headlines.
- Sentence Case Boundary Detection
- Sentence case lowercases everything, then capitalizes the first letter of the input and the first letter after any sentence terminator (. ! ? 。 ! ?) followed by whitespace. The detector doesn't try to disambiguate abbreviations like Mr. or U.S.A. — false positives there are noisier than the rare missed case.
- Alternating Case Uses a Global Toggle
- aLtErNaTiNg cAsE flips between lower and upper for each letter, with a global toggle that carries across word boundaries. Non-letter characters don't advance the toggle. This matches the convention used by convertcase.net and other meme generators — predictable and reproducible for the same input.
- Random Case Uses Math.random()
- RaNdOm CaSe runs an independent coin-flip per letter using Math.random(). Each Re-shuffle click produces a different result. The random source isn't cryptographically strong; it's fine for casual text but don't use it for password generation (use the dedicated password generator for that).
- Unicode and Locale-Aware Case Mappings
- Uses `toLocaleLowerCase()` and `toLocaleUpperCase()` so Turkish dotted/dotless İ/ı, German ß (uppercases to SS in standard handling), and other locale-sensitive case mappings handle correctly. Tokenization uses \p{L} to recognize letters from any script. Programming-case outputs default to ASCII identifier characters for cross-language compatibility.
Best Practices for Choosing a Case
- Pick the Case That Matches Your Codebase
- The right case for a variable name isn't the prettiest — it's the one your codebase already uses. JavaScript and Java: camelCase for variables and methods, PascalCase for classes. Python, Ruby, Rust: snake_case for everything except class names (which are PascalCase). CSS and URLs: kebab-case. Environment variables and constants: CONSTANT_CASE. Match the local convention; consistency beats theoretical correctness.
- Use Sentence Case for UI Microcopy
- Google, Apple, and Microsoft's design systems all standardized on Sentence case for button labels, menu items, dialog text, and other UI microcopy over the last decade. Title Case in UI now reads as old-fashioned and slightly shouty. Save Title Case for primary headlines, page titles, and book titles.
- Strip Smart Quotes Before Pasting
- Pasting from Microsoft Word, Google Docs, or Apple Notes can pull in smart quotes (“”), em-dashes (—), and other typographic characters that look identical to ASCII but encode differently. The case transforms handle them correctly, but if you're converting to a programming-case identifier, manually replace them with ASCII equivalents first to avoid surprises in your code editor.
- Convert One Identifier at a Time for Programming Cases
- camelCase, snake_case, kebab-case, etc. produce a single identifier from the entire input. If you paste a sentence into snake_case, you get one long identifier — technically correct but rarely what you want. For identifier conversion, paste one word or compound at a time. For paragraph-length text, use the text-case transforms.
- Verify Acronym Round-Trips Before Refactoring
- XMLHttpRequest → xml_http_request → XmlHttpRequest is the standard round-trip; the acronym becomes title-cased on the way back. If your codebase preserves the original acronym capitalization (XmlHttpRequest stays as XMLHttpRequest), the round-trip won't match exactly. Spot-check a few conversions before doing a project-wide rename.
- Use Header-Case for HTTP/1.1, kebab-case for HTTP/2
- HTTP/1.1 is case-insensitive for header names but Header-Case (Content-Type, X-Forwarded-For) is the conventional human-readable spelling everyone uses. HTTP/2 explicitly requires lowercase header names — use kebab-case for those (content-type, x-forwarded-for). When in doubt, kebab-case works in both protocols.
- Re-Shuffle Random Case for Variety, Not Security
- Random Case is fun for memes but not random in the cryptographic sense — it uses Math.random(), which is fine for visual variety but not for anything where randomness matters (password generation, security tokens, A/B testing). Use the dedicated password generator for cryptographic randomness.
Frequently Asked Questions
What does a case converter do?
What's the difference between camelCase, PascalCase, and snake_case?
How does the tokenizer handle acronyms like XMLHttpRequest or parseHTML?
What is Title Case versus Sentence case?
Is my text uploaded anywhere?
How do I convert text to camelCase from any other case?
Does the tool support Unicode and non-English letters?
What's the difference between dot.case and path/case?
Why does the tokenizer split on numbers (file2x → file, 2, x)?
How is alternating case different from random case?
Does this convert HTTP header names?
Can I convert a whole paragraph at once?
How accurate is this versus lodash, change-case, or other case libraries?
Why are there both Sentence case and Title Case if they look similar?
Related Tools
View all tools →Free Regex Tester — Debug & Match Patterns Online
Text Processing
Test regex patterns instantly against any text. Live match highlighting, capture groups, replace preview, split, and pattern explainer. JavaScript-flavor regex, 100% private, no signup.
Text Diff & Compare
Text Processing
Compare two texts instantly in your browser. Side-by-side view with inline word-level highlights, unified-diff export, ignore case / whitespace / blank lines. 100% private — your text never leaves your device.
Free Word Counter & Character Count Tool
Text Processing
Count words, characters, sentences, paragraphs, and reading time instantly. Real-time word counter with Twitter, meta description, and Instagram limit checks. Free, private, no signup.
Number Base Converter — Binary, Hex, Decimal & Octal
Conversion Tools
Convert between binary, hex, decimal, octal and any base (2-36) instantly. Free, private — all processing in your browser.
Base64 Decoder & Encoder
Encoding & Formatting
Decode and encode Base64 online for free. Real-time conversion with full UTF-8 and emoji support. 100% private — runs in your browser. No signup needed.
Crontab Generator & Cron Expression Builder
Date & Time
Build, validate, and decode cron expressions in your browser. Live next-run preview in local time or UTC. POSIX 5-field syntax, presets, plain-English description. Free, private, no signup.