W3docs

String Functions

String to Uppercase Converter

Convert any string to uppercase. Useful for headings, constants, and ALL CAPS.

About the String to Uppercase Converter

This tool converts any text you paste into ALL UPPERCASE — every letter becomes its capital form, while digits, punctuation, whitespace, and emoji pass through unchanged. It runs entirely in your browser: there's no server round trip, so nothing you paste or type ever leaves your machine. That's worth knowing if you're converting text you'd rather not send anywhere — API keys, internal identifiers, or draft copy.

Under the hood the conversion is a single call to JavaScript's String.prototype.toUpperCase() — there's no custom character table. toUpperCase() applies Unicode's default case mapping, so it isn't limited to A–Z: accented letters like é correctly become É, and it operates on full code points, so emoji and non-Latin scripts pass through safely. Two gotchas worth knowing: German ß expands to two characters, SS, and the mapping is locale-independent — lowercase Turkish i becomes plain I, not the dotted İ Turkish orthography expects.

Reach for it for one-off jobs: normalizing pasted data before a case-insensitive comparison, generating CONSTANT_NAME-style identifiers, or drafting ALL-CAPS headings and labels by hand. If you only need capital letters as a visual style on a live page, CSS's text-transform: uppercase is usually the better tool — it leaves the underlying text untouched for screen readers and copy-paste. Use this converter when you need the uppercase characters in the data itself, not just its on-screen appearance.

Examples

Convert text to uppercasetext
Input:  make this text LOUD.
Output: MAKE THIS TEXT LOUD.

This is the tool's own placeholder text — try it in the widget above.

Unicode case mappingjs
"Straße, naïve café".toUpperCase()
// "STRASSE, NAÏVE CAFÉ"

Accented letters map correctly; German ß expands to two characters, SS — that's Unicode's default case mapping, not a bug.

Building an env-var-style constant namejs
const upper = "max-retry-count".toUpperCase()
// "MAX-RETRY-COUNT" — hyphens are untouched

const constName = upper.replaceAll("-", "_")
// "MAX_RETRY_COUNT"

The converter only changes case. Chain a replace()/replaceAll() if you also need to swap separators.

Frequently asked questions

How do I convert a string to uppercase in JavaScript?

Call String.prototype.toUpperCase() on the string — for example "hello".toUpperCase() returns "HELLO". It takes no arguments and returns a new string, since JavaScript strings are immutable; the original is never modified. This tool runs that exact method against whatever text you paste in.

Does uppercase conversion handle accented letters and other languages correctly?

Yes — it uses Unicode's default case mapping rather than a simple A–Z lookup, so accented letters like é correctly become É. Two exceptions to know: German ß expands into two characters, SS, and the mapping is locale-independent, so a lowercase Turkish i becomes plain I rather than the dotted İ that Turkish orthography expects.

Does this tool send my text to a server?

No. The conversion runs entirely in your browser using JavaScript's built-in toUpperCase() method — there's no API call and no network request involved, so the text you paste never leaves your machine.

What's the difference between this and CSS text-transform: uppercase?

CSS text-transform: uppercase only changes how text is displayed — the underlying HTML and string data stay in their original case, so screen readers, copy-paste, and form submissions still see the original text. This tool changes the actual characters, which is what you want when you need uppercase text in data, a file, or a variable name rather than just on screen.

Can I convert the result back to its original mixed case?

No — uppercasing is lossy. Once "McDonald" and "mcdonald" both become "MCDONALD", the information about which letters were originally lowercase is gone, so there's no reliable way to reconstruct the original casing automatically. Keep a copy of your original text if you'll need it later.