← Text

Case Converter

Convert text between uppercase, lowercase, title case, camelCase, snake_case, and more. Nothing leaves your device.

Convert to

Use this tool from AI agents

This tool's engine is available to AI agents over MCP as convert_case. Add the Clean.tools server, then your agent can call it directly.

Claude Code
claude mcp add --transport http clean-tools https://mcp.clean.tools/mcp
Claude Desktop (mcpServers)
{"mcpServers":{"clean-tools":{"command":"npx","args":["-y","@clean-tools/mcp"]}}}
Cursor
https://mcp.clean.tools/mcp

Or call it over plain HTTP from any script. Same engine, JSON in and JSON out, no key:

curl
curl -s https://api.clean.tools/v1/convert_case \ -H 'content-type: application/json' \ -d '{"text":"the HTML5 quick_brown-fox JUMPS over the lazyDog","case":"camel"}'
JavaScript
const res = await fetch("https://api.clean.tools/v1/convert_case", { method: "POST", headers: { "content-type": "application/json" }, body: JSON.stringify({"text":"the HTML5 quick_brown-fox JUMPS over the lazyDog","case":"camel"}) }); const data = await res.json();

How it works

This case converter transforms text between eight common casing formats using pure JavaScript string operations. It tokenizes your input into words and reassembles them according to the target convention. camelCase and snake_case modes strip punctuation and handle multi-word inputs correctly.

All processing runs locally in your browser. Your text is never sent to a server. Useful for formatting variable names, headlines, filenames, and more. Works on mobile and desktop. You can also run the same conversion from scripts or AI agents through the Clean.tools API, or install the @clean-tools/mcp package from npm to expose it as a convert_case MCP tool.


Frequently asked questions

How does Title Case decide which words stay lowercase?

Title Case keeps short joining words such as "a", "and", "of", "the", and "to" lowercase unless they are the first or last word, following common headline style. Acronyms already typed in all caps (like "NASA" or "API") are left untouched instead of being lowercased.

How is my text split into words for camelCase and snake_case?

The converter splits on spaces, underscores, and hyphens, and also breaks apart existing camelCase boundaries, so "getUserID" becomes get, user, and ID. Punctuation and symbols are stripped from each word, so camelCase, snake_case, kebab-case, and CONSTANT_CASE always produce clean identifiers.

Does it handle accented letters and non-English characters?

Yes. Word splitting and letter casing use Unicode-aware matching, so accented and non-Latin letters are recognized as letters and cased correctly where the language supports it. Letters that have no distinct upper or lowercase form are passed through unchanged.

Is there a limit on how much text I can convert?

There is no fixed character limit. Because everything runs on your own device, the practical ceiling is your browser's memory, and typical documents convert instantly.

Can I use this from the command line or an AI agent?

Yes. The same engine is available as a REST endpoint at https://api.clean.tools/v1/convert_case, so you can POST text and a target case from a script or terminal and get JSON back. It also runs as an MCP server you can add to Claude, Claude Code, or Cursor, letting an agent convert case as part of a larger task. Installing the @clean-tools/mcp package from npm runs that server locally over stdio.


More tools from Clean.tools

View all tools

Use Clean.tools from your AI agent

This tool is also convert_case on the Clean.tools MCP server — the same engine, callable by your AI agent directly. No key, no signup: requests are processed in memory and request contents are never stored.

Claude Code
claude mcp add --scope user --transport http clean-tools https://mcp.clean.tools/mcp
Any MCP client (streamable HTTP, authless)
https://mcp.clean.tools/mcp

Every tool, the REST API, and setup for Cursor, Claude Desktop, VS Code & more →