Have ideas to improve npm?Join in the discussion! »

    DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/convert-layout package

    0.9.0 • Public • Published

    Convert Layout

    A JavaScript library to convert text from one keyboard layout to other.

    Useful to prevent errors on english-only fields, like a credit card owner field.

    var ru = require('convert-layout/ru');
    bankcardName.keyup(function () {
      bankcardName.value = ru.toEn(bankcardName.value);
    Sponsored by Evil Martians


    There are two ways to load a keyboard layout definition. If you plan on using a single layout, just load the file directly:

    var ru = require('convert-layout/ru');

    Also you can get a object with all layouts (but app size will be bigger):

    var layouts = require('convert-layout');
    layout = layouts[name];

    Every layout has fromEn and toEn methods:

    ru.toEn('руддщ')    //=> "hello"
    ru.fromEn('ghbdtn') //=> "привет"


    Currently supported keyboard layouts:

    • Arabic
    • Belarusian
    • English (QWERTY, Dvorak, Colemak)
    • German
    • Kazakh
    • Korean
    • Russian
    • Spanish
    • Ukrainian
    • Hebrew
    • Persian

    If you want to add a new keyboard layout definition:

    1. Fork a project. Create a branch.
    2. Add a CODE.json file with layout buttons map. See example in ru.json. Lower case letters will be converted to upper case automatically. However, all non-letters symbols should be added both in uppercase and lowercase.
    3. Run yarn test. Project will be built automatically.
    4. Add layout to the list above.
    5. Send a pull request.


    npm i convert-layout

    DownloadsWeekly Downloads






    Unpacked Size

    7.09 kB

    Total Files


    Last publish


    • avatar