Type with the German layout on this on-screen keyboard. Click the keys or use your physical keyboard and watch every key light up.

German Keyboard Online

This online German keyboard loads the German layout by default. Click the keys with your mouse, tap on a touch screen, or type on your physical keyboard and watch the matching keys light up. Use the language button on the bottom row to switch to any of the other supported layouts.

The German keyboard uses the QWERTZ layout - Z and Y trade places compared with QWERTY - and gives the umlauts ä, ö, ü and the sharp ß their own keys. The ^, ´ and ` keys are dead keys: tap one, then a letter, to add the accent. Hold right Alt (AltGr) for a third level, such as @ on Q and on E.

A unique feature: right-clicking a key types its shifted symbol.

Not sure how to type in German? Try our German typing test and practice on real phrases.

Want this keyboard on your own website? You can embed it with a single line of HTML.

Add Qwertia to your site

Put a keyboard button next to any input on your own website with a single line of HTML. Visitors can type accented or non-Latin characters without changing their system layout.

Drop in this one-liner and Qwertia will add a small keyboard button next to every field you mark up with data-qwertia:

<script src="https://qwertia.com/js/qwertia-input.js" async></script>
<input type="text" data-qwertia>
<textarea data-qwertia="de"></textarea>

The value of data-qwertia picks the initial keyboard layout (en, es, fr, de, ru, br, it, nl, ko, ja, ar, hi, bn, tr, sv, fi, nb, pl, cs, el, az, dv, numpad). You can also use data-qwertia-layout, data-qwertia-skin, data-qwertia-size, data-qwertia-theme for finer control.

To bind fields from your own JavaScript - for example after rendering them with a framework - call the API directly:

Qwertia.bind(document.getElementById("login"), { layout: "ru" });

Clicking the button opens the Qwertia keyboard in a small popover. Every keystroke is mirrored back into your input through postMessage, so framework-controlled fields (React, Vue, Angular) keep working as usual - both input and change events fire on the original element. The typed text never leaves the user's browser: there is no server round-trip.

Try it right here

The three fields below are bound exactly the same way as on any other site - click the keyboard icon next to a field and start typing:

Frequently Asked Questions

Mobile keyboards are built into the operating system, so they predict the word you are about to type and silently resize the touch area of the keys they expect next. That hidden auto-correction is why you sometimes can't type the word you actually mean - you aim for one key but get a different character. Start deleting and the algorithm pauses for the next word.

It's a mixed blessing: handy for everyday messaging, frustrating for passwords, codes, names and foreign words. Qwertia does no guessing - every click types exactly the character you pressed.

Yes. Qwertia virtual keyboard is completely free and runs entirely in your web browser. There is nothing to download, install or sign up for - just open the page and start typing.

Yes. Everything you type stays in your browser. Qwertia does not send your keystrokes to any server. The text area on this page is local to your device, and the same applies when you embed the keyboard on your own site using qwertia-input.js.

Qwertia supports twenty-three layouts: English, German, French, Spanish, Russian, Italian, Portuguese, Dutch, Korean, Arabic, Japanese, Turkish, Swedish, Finnish, Norwegian, Polish, Czech, Greek, Azerbaijani, Hindi and Bengali, plus the alternative Dvorak layout for English and a calculator-style Numpad. Use the language button on the bottom row of the keyboard to switch between them at any time.

For most of its history the German keyboard had no way to type a capital ß - the letter simply had no uppercase form, so a word in all caps was written with SS instead (STRASSE, not STRAßE). The capital sharp s, , was only added to the official German spelling rules by the Council for German Orthography in 2017, and became the preferred uppercase form in 2024. Its Unicode slot (U+1E9E) had actually existed since 2008 - nine years before the language officially recognized the letter - which is why newer German keyboards and extended layouts had to find room for a key that, by tradition, was not supposed to exist.

The Numpad - short for numeric keypad, and also known as the ten-key or number pad - is the calculator-style block of digits, a decimal point and the + - * / operators, laid out for fast one-handed number entry. It is the tool of choice for accountants, cashiers and anyone filling spreadsheets, because keying figures in a tight 3x3 grid is far quicker than reaching across the number row. Qwertia's Numpad keyboard reproduces that grid on screen, with a Backspace key where Num Lock normally sits, and the Numpad typing test drills it with real accounting calculations.

Dvorak is an alternative English layout designed in the 1930s by Dr. August Dvorak to reduce finger travel. It has the same keys as QWERTY but rearranges them so the most frequently used letters fall on the home row - the vowels under the left hand and the most common consonants under the right - which lets the hands alternate and keeps your fingers near their resting position. Try it on the Dvorak keyboard or take the Dvorak typing test. Because it is the same physical keyboard, you can switch back to QWERTY whenever you like.

Yes. The Korean layout uses the standard Dubeolsik arrangement, and Qwertia automatically combines the individual jamo you type into complete Hangul syllable blocks, just like a system input method. The Arabic layout follows the Arabic 101 standard and writes from right to left. The Japanese layout lets you type either by romaji (Qwertia converts the Latin letters to kana as you go, with no kanji dictionary) or directly on the JIS kana layout, and you can switch between hiragana and katakana. Each layout also has its own typing test with native phrases.

Live, one keystroke at a time. In Korean every key is a single jamo, and Qwertia keeps track of whether the current syllable still needs a leading consonant, a vowel or a final consonant (받침), redrawing the Hangul block on each press. If a finished block already has a final consonant and your next key is a vowel, that consonant hops to the front of a new block - so 안 followed by a vowel splits into 아 + 나 on its own, exactly like a system input method.

In Japanese romaji mode Qwertia buffers your Latin letters and converts them the instant they form a kana: ka → か, a doubled consonant becomes a small っ, and n becomes ん before the next consonant. In kana mode you type kana straight from the JIS keys and add the dakuten or handakuten to voice them. Either way there is no kanji dictionary - what you assemble is what you get.

Yes. Alongside Korean, Arabic and Japanese, Qwertia includes a Greek layout (with the monotonic tonos accent), Russian Cyrillic, and the Devanagari and Bengali INSCRIPT layouts for Hindi and Bengali. On the Indic layouts each key types one Unicode sign and your browser shapes them into conjuncts, exactly like a system keyboard. There are also Turkish, Azerbaijani, Polish, Czech, Swedish, Finnish and Norwegian layouts, each with its own accented letters, dead keys and AltGr symbols.

Languages with diacritics use dead keys: press an accent key (for example ´ or ^) and then press a letter to get the accented character. You can also right-click a key to type its shifted symbol.

Yes. Type on your physical keyboard as usual and the matching on-screen keys will light up. This is useful for learning a new layout or checking which key produces which character.

Yes. Add a single line of HTML and Qwertia will place a keyboard button next to any input field on your site. See the Add Qwertia to your site section above for the script tag, layout options and a live demo.

Visit the Symbols & Alt Codes page to browse special characters with their Windows Alt codes. Click any symbol to copy it to your clipboard instantly. For smileys, hearts, flags and other pictographs, open the Emoji picker and click any emoji to copy it.