Text · keyboard layoutKeyboard layout fixer

Fix text typed in the wrong keyboard layout: «ghbdtn» → «привет» and back. The direction is detected automatically, and everything is computed in the browser.

Text and passwords never reach a server

01Fix02Layout table03About04Questions05Related
01

Fix the layout

paste the text — the direction is detected on its own
Direction
detected from the script of the input
correct words stay untouched — for mixed messages
Examples
Resultread as Russian text
Привет, как дела?
words fixed: 3 of 3
02

Layout table

ЙЦУКЕН and QWERTY on the very same keys

The same key produces different characters in the two layouts. Letters line up row by row, punctuation does not — and that is exactly where manual replacement breaks.

KeyEnglishRussian
Number row`1234567890-=ё1234567890-=
Top rowqwertyuiop[]йцукенгшщзхъ
Home rowasdfghjkl;'фывапролджэ
Bottom rowzxcvbnm,./ячсмитьбю.
Shift layer: where the layouts diverge
Shift + 2@"Shift + 3#Shift + 4$;Shift + 6^:Shift + 7&?Shift + /?,
03

About keyboard layouts

Start typing Russian without switching the keyboard and you get «ghbdtn» instead of «привет»: every key stayed where it was, only the layout changed. Such text converts back unambiguously — the replacement follows key positions rather than pronunciation. This is neither transliteration nor a broken encoding, and telling the three apart is useful: each needs a different tool.

Replacement by position

Basics
ghbdtn → привет
Every character is replaced by the position of its key rather than by how it sounds. «ghbdtn» is «привет»: the fingers pressed the right keys while the layout was still English. That is why the result is exact instead of a guess.

Punctuation moves too

Punctuation
? → , , → б
Punctuation does not line up between the layouts: the Russian full stop and comma live on the slash key, while the comma and full stop keys carry «б» and «ю». The tool accounts for that but keeps a genuine mark at the end of a word — ruining a correct comma is worse than leaving an extra question mark.

Direction detection

Smart mode
rfr → как
The direction follows the script of the input: Latin means Russian was intended, Cyrillic means English. It can always be set by hand, and the manual choice wins — that is also how the reverse mode «show in the other layout» works.

Mixed text

Word by word
«Привет, rfr…»
When some words are typed correctly and others are not, only the broken ones change. The decision is made per word: is it meaningful in its own script, or does it become meaningful after the replacement. Links, e-mail addresses and numbers are skipped entirely.

Not transliteration

Boundaries
privet ≠ ghbdtn
Transliteration goes by sound: «privet» is a deliberate Latin spelling. Read positionally it becomes «зкшмуе», so the tool recognises such input and offers the transliterator instead of passing nonsense off as an answer.

Not an encoding issue

Boundaries
привет
Mojibake appears when text is read with the wrong encoding: the bytes are the same, the character table is not. Positional replacement cannot help there, and the tool says so plainly rather than pretending to fix it.
04

Frequently asked questions

Paste the text and the tool replaces every character by the position of its key, restoring the intended words. The direction is detected automatically: Latin input means Russian was intended, Cyrillic input means English. In smart mode only the broken words are changed, so mixed messages come back intact.

Updated

«» added to favorites