Convert text to UPPERCASE

Paste any text and get the same text with every letter in uppercase. Each Latin letter is mapped to its capital form (a -> A, ñ -> Ñ, ß -> SS in modern browsers), digits and punctuation pass through untouched. The transform runs in your browser; nothing uploads.

Input
Line 1:1 LF cloud_done Saved locally
Result Uppercase
0 lines 0 chars

Uppercase conversion, plain and predictable

Uppercase conversion replaces every lowercase letter with its capital counterpart. In TextResult that means JavaScript's built-in String.prototype.toUpperCase(), which uses the Unicode case-folding tables shipped with your browser. So café becomes CAFÉ, straße becomes STRASSE, and Greek μέρα becomes ΜΈΡΑ. Anything that isn't a letter (digits, punctuation, emoji, whitespace) passes through unchanged.

There are no hidden steps. Diacritics stay intact. Already-uppercase letters stay uppercase. The output is always the same length in code units as the input, with the one Unicode-defined exception: German ß can expand to SS on modern engines, which is the correct uppercase mapping.

If you also need title case (Capitalise Each Word), sentence case (Capitalise the first letter of each sentence), or capitalize words (every word's first letter), pick the matching tool from the formatting hub. Uppercase is the simplest of the family; the others wrap their own segmentation rules around it.

How to use convert text to uppercase

  1. 1Paste or type your text into the input panel on the left.
  2. 2The uppercase result appears in the output panel on the right as you type.
  3. 3Click Copy in the output header to copy the result.
  4. 4Click Download to save the result as a plain-text file.
  5. 5Use Find (Ctrl+F) inside the input if you need to search or replace before transforming.

Keyboard shortcuts

Drive TextResult without touching the mouse.

Shortcut Action
Ctrl FOpen the find & replace panel inside the input Plus
Ctrl ZUndo the last input change
Ctrl Shift ZRedo
Ctrl Shift EnterToggle fullscreen focus on the editor Plus
EscClose find & replace, or exit fullscreen
Ctrl KOpen the command palette to jump to any tool Plus
Ctrl SSave current workflow draft Plus
Ctrl PRun a saved workflow Plus

What this tool actually does

Unicode case mapping (not just A-Z)

Every letter is mapped via JavaScript's native toUpperCase, which follows the Unicode SpecialCasing table in your browser. Latin accented characters, Greek, Cyrillic, Armenian, and Coptic all uppercase correctly. Scripts without case (CJK, Arabic, Hebrew, emoji) pass through unchanged.

Whitespace, digits, and punctuation pass through

Spaces, tabs, line breaks, digits 0-9, and ASCII/Unicode punctuation are untouched. Line endings stay LF or CRLF as you pasted them. The status bar at the bottom of the input shows which line ending was detected.

Length-preserving in code units, with one exception

Output is the same UTF-16 code-unit length as input, except for the German sharp-s: ß uppercases to two code units SS. This is the Unicode-defined default. Flip the Keep ß toggle in the action bar to leave ß verbatim instead. Handy when you're uppercasing German text that should preserve the sharp-s.

Runs entirely in your browser

No upload, no server-side processing, no log of what you pasted. The transform fires on every keystroke via a single JavaScript call. No round-trip latency on any keystroke.

Default locale plus Turkish / Azerbaijani options

The default uses toUpperCase(): every letter follows the Unicode default mapping, regardless of your browser language. Switch the Locale dropdown to Turkish or Azerbaijani to opt into the dotted-I mapping (i -> İ) for those languages. Other locales fall through to the default behaviour.

Worked example

Notice straße uppercases to STRASSE (Unicode rule), ÉÉÏ keep their accents, the · middle-dot and #4821 pass through.

Input
the quick brown fox jumps over the lazy dog.
Café résumé naïve · straße
ORDER #4821 - 2x widgets
Output
THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG.
CAFÉ RÉSUMÉ NAÏVE · STRASSE
ORDER #4821 - 2X WIDGETS

Settings reference

Behaviour Effect on output
Lowercase letters Mapped to their Unicode uppercase form. a -> A, é -> É, ñ -> Ñ.
Already-uppercase letters Pass through unchanged.
Digits and punctuation Pass through unchanged.
German ß Uppercases to SS (two code units, output length grows by 1 per ß). Turn on Keep ß in the action bar to preserve ß verbatim.
Whitespace and line endings Unchanged. LF stays LF, CRLF stays CRLF (visible in the input status bar).
Locale Default uses Unicode case mapping. Switch the Locale dropdown to Turkish or Azerbaijani to apply the dotted-I rule (i -> İ) for those languages.
Scripts without case CJK, Arabic, Hebrew, emoji, etc. pass through with no change.

FAQ

Does it work on accented characters?
Yes. café becomes CAFÉ, naïve becomes NAÏVE, résumé becomes RÉSUMÉ. The accents are preserved on the uppercase form.
Why does ß become SS instead of staying as ß?
That's the Unicode-defined uppercase mapping for the German sharp-s. To keep ß verbatim, turn on the Keep ß toggle in the action bar. The tool then protects every ß through the conversion. There is also a capital codepoint (U+1E9E) in newer Unicode versions; if you want that specifically, run the result through find/replace afterwards.
Can I uppercase only part of the text?
Not in this tool directly. Paste only the portion you need, or use find and replace with regex if you want to capitalise matches in place.
Is the output sent anywhere?
No. The transform runs entirely in your browser via JavaScript. Nothing is uploaded, nothing is logged, no record of your text exists on our servers.
What's the difference between this and title case?
Uppercase makes EVERY letter capital. Title case only capitalises the first letter of each word ("The Quick Brown Fox"). Use uppercase for ALL CAPS; use title case for headlines and titles.