Free text to uppercase converter
Text to uppercase, including the letters that misbehave
This converter raises text to capitals as you type. Using it is free of charge, no account is asked for, and the box has no ceiling. Most tools stop there, and most tools are wrong about the edges: the German ß opens out into two letters and makes your text longer, the Turkish i has to keep its dot, and Greek capitals are written without their accents. Set the language and the page raises them properly, then lists every character that was not a plain one-for-one swap.
- 100% free
- No signup
- ß, Turkish i and Greek accents
- Shows the length change
- No length limit
The plain Unicode mapping every browser ships
Characters that are not a straight swap
Nothing here changes yet. Type a ß, a Turkish ı or an accented Greek letter to see the awkward cases listed.
How to convert text to uppercase
Three steps, and the second one only matters for three languages.
Put in the line you need in capitals
A poster headline, a slide title, a certificate, a form that will only accept capitals, a column of product codes. ⌘V on a Mac (Ctrl+V on a PC) drops your clipboard in without your having to click the box first, and the capitals appear as you type rather than after a button press.
Set the language if the text is not English
The selector matters for exactly three languages and is harmless everywhere else. Turkish keeps the dot on an i, so istanbul rises to İSTANBUL rather than ISTANBUL. Greek takes the accents off, because Greek capitals are written without them. Lithuanian keeps a dot that the default mapping loses. German behaves like the default unless you also switch on the capital sharp s.
Read the two panels before you paste it anywhere
The counter at the top shows how many characters went in and how many came out, and those numbers are not always the same. Below the boxes, one panel sets your line in both cases at the same size so you can see how much wider it has become, and a table lists every character that was not a straight swap, with what happened to it and how many times.
Technical specifications
| The conversion | Every letter raised to its capital, live as you type, with spacing, punctuation, digits and emoji untouched |
|---|---|
| Language settings | Five: none, German, Turkish, Greek and Lithuanian. Only Turkish, Greek and Lithuanian change the result; German matters when the capital sharp s is switched on |
| Characters that become longer | ß → SS, fi → FI, fl → FL, ff → FF, ffi → FFI, ffl → FFL, ʼn → ʼN and the Armenian և → ԵՒ, each adding a character or two to the total |
| Turkish setting | i → İ and ı → I, so istanbul becomes İSTANBUL; without it the dot is lost and the word changes |
| Greek setting | Removes the stress accent as Greek typography requires (Ελλάδα → ΕΛΛΑΔΑ) while keeping the dieresis |
| Capital sharp s | Optional ẞ instead of SS, offered whenever your text contains a ß; official since the 2017 German spelling revision and used on identity documents |
| What the panels show | Characters in and characters out with the difference; your own line set in both cases at the same size; and a table of every character that was not a one-for-one swap, with counts |
| Limit, speed and cost | No length cap; 100,000 characters are raised and analysed in 3.8 ms. Free, without an account, and the raising is done here in the tab |
Frequently asked questions
Does converting to uppercase change the character count?
Sometimes, and always upwards. The German ß has no single capital in the default mapping, so it opens out into two letters: straße is six characters and STRASSE is seven. The typographic ligatures that PDFs leave in copied text do the same thing — fi becomes FI and ffl becomes FFL, turning one character into two or three. That matters whenever a limit is involved, because a 60-character page title or a database field sized to the original can overflow on a conversion that looks purely cosmetic.
What is the capital letter for ß?
There are two correct answers, and this page offers both. The traditional one is SS, which is what every browser produces by default and what most German prose still uses. The other is ẞ, the capital sharp s, which became an official variant in the 2017 revision of the German spelling rules and is now used on identity documents so that a surname is not altered by being set in capitals. Switch it on with the checkbox that appears whenever your text contains a ß; it keeps the length of the line unchanged, which SS does not.
Why does Turkish need its own setting?
Because Turkish has two separate letter i, and the pairing is not the one English uses. The dotted i rises to a dotted İ, and the dotless ı rises to a plain I, so istanbul becomes İSTANBUL and ışık becomes IŞIK. Convert Turkish text with the default English mapping and you get ISTANBUL, which is a different word to a Turkish reader. The return journey is worse: an İ lowercased without the Turkish setting leaves the dot behind as a separate mark hovering over an ordinary i.
Why did my Greek text lose its accents?
Because that is how Greek capitals are written — an accent is dropped when a word is set in capitals, so Ελλάδα becomes ΕΛΛΑΔΑ and not ΕΛΛΆΔΑ. The default mapping in every browser keeps the accent, which is technically a faithful letter-for-letter conversion and typographically wrong. Choosing Greek in the language selector applies the convention. The dieresis is the exception and stays put, because it separates two vowels rather than marking a stress.
Should French capitals keep their accents?
Yes, and this page keeps them: ÉTÉ, À BIENTÔT, ÇA VA. The habit of dropping them is a legacy of mechanical typewriters and early typesetting, where accented capitals were awkward or missing, and the Académie française has been explicit that the accent is part of the spelling in capitals as much as in lower case. Dropping it can change the word — a UN ÉLÈVE that loses its accents reads differently — so a converter that strips accents from French is losing information, not tidying it.
Why does my heading no longer fit after I capitalise it?
Because capitals are physically wider than small letters, quite apart from any change in the character count. Every capital is drawn to the full height of the line with no narrow ascender or descender to save space, so a line in capitals typically runs ten to fifteen per cent wider than the same line in sentence case in the same font and size. Combine that with a ß or a ligature that also adds characters and a button label, a table header or a navigation item that fitted comfortably will overflow. The panel above sets your own line in both cases so you can judge it before it breaks a layout.
Is uppercase the same as small caps?
No — small caps is a property of the font, not a change to your letters, and the difference matters. Setting text in small caps leaves the underlying words exactly as written and asks the typeface to draw the lower-case letters as small capitals, so the text can still be searched, read aloud correctly and later un-styled. Converting to capitals rewrites the words themselves, throws away the record of which letters were capitals, and is read by some screen readers as an abbreviation to be spelled out. Use capitals when the text must genuinely be capitals; use small caps when you only want the look.
Uppercase is not a letter-for-letter swap
Almost every letter has exactly one capital, which is why raising English text is uneventful and why nobody thinks about it. The exceptions are few, but they turn up constantly in real documents. The German ß has no single capital in the default mapping and opens into SS, so a word gets longer and a line that fitted a field no longer does. The ligatures fi, fl, ff, ffi and ffl — single characters that PDFs and older typesetting leave behind in copied text, invisible until something goes wrong — expand into two or three letters each. The Armenian և and the archaic ʼn do the same, while the Dutch ij, which looks like the same kind of problem, quietly has a capital of its own and does not. None of this is a fault in the converter; it is the alphabet refusing to be a lookup table, and the reason this page reports the character count before and after.
Turkish is the case that actually breaks things. Turkish has two distinct letters that look to an English eye like one: a dotted i, whose capital keeps the dot as İ, and a dotless ı, whose capital is the plain I. Raise Turkish text with the English mapping and istanbul becomes ISTANBUL, which reads as a different word entirely, and the same confusion running in the other direction leaves an ordinary i wearing a stray floating dot. It is a famous source of bugs in software that uppercases text to compare it, and it is why the language selector above exists rather than a single button. Greek belongs to the same family of problems for a different reason: the letters map cleanly, but Greek typography requires the stress accent to come off in capitals, so Ελλάδα is set as ΕΛΛΑΔΑ. French runs the opposite way — the accent on a capital É is part of the spelling and should stay, whatever a mid-century typewriter forced people to do.
The last consequence is spatial rather than textual. Capitals are drawn full height with no ascenders or descenders to lean on, so a line of them runs noticeably wider than the same words in sentence case even when the character count has not moved at all — around a tenth to a seventh wider in most typefaces. That is how an all-caps button label overflows its box and how a table header wraps onto a second line, and it is worth checking against the panel above before the layout does it for you. If the destination has a hard limit rather than a soft one, the character counter measures the result against the ceilings that matter, and the letter counter counts letters alone. To go back down again, the uppercase to lowercase page will hold your acronyms back on the way, and the case converter keeps all seven cases in one place.
Nothing is sent away to be capitalised
Language-aware casing is the kind of thing sites often hand to a server, and this one does not: the Turkish, Greek and Lithuanian rules ship with the browser you are already using, so your text is raised where it sits. Nothing travels, nothing is recorded, and the language you pick is not remembered — reload and the selector is back to none. A brand name under embargo or a certificate full of real names is as safe here as an empty box.