Skip to main content
Monkeytype supports over 230 different keyboard layouts, allowing you to practice typing in alternative layouts, different languages, and specialized configurations.

What are Keyboard Layouts?

A keyboard layout defines how keys on your physical keyboard map to characters. Different layouts optimize for different languages, typing efficiency, or ergonomic concerns.
Your physical keyboard doesn’t need to match the selected layout. Monkeytype displays the layout visually and tracks your typing based on the layout configuration.
These layouts are alternatives to QWERTY designed for improved typing efficiency and ergonomics.

Colemak

Popular alternative layout that changes fewer keys from QWERTY, making it easier to learn.

Dvorak

Classic alternative layout designed to reduce finger movement and increase typing speed.

Workman

Modern layout optimized for horizontal finger movement over vertical movement.

Norman

QWERTY-like alternative that minimizes learning curve while improving efficiency.

MTGAP

Optimized layout designed using algorithmic analysis of typing patterns.

Halmak

AI-generated layout optimized for modern English typing patterns.

Colemak Variations

Colemak has many variants for different keyboard types and preferences.
  • colemak: Standard Colemak layout
  • colemak_dh: Colemak Mod-DH (improved hand alternation)
  • colemak_dh_iso: Colemak Mod-DH for ISO keyboards
  • colemak_dh_matrix: Colemak Mod-DH for ortholinear/matrix keyboards
  • colemak_dh_wide: Colemak Mod-DH with wide mod
  • colemak_dh_iso_wide: Colemak Mod-DH ISO with wide mod
  • colemak_wide: Standard Colemak with wide mod
  • colemak_angle: Colemak with angle mod
  • colemak_dhk: Colemak DH with K position change
  • colemak_dhk_iso: Colemak DH K for ISO keyboards
  • colemak_dhv: Colemak DH with V position change
  • colemak_Qi: Colemak with Q and I positions optimized
  • colemak_Qix: Extended Colemak Qi variant
  • colemaQ: Colemak with Q optimization
  • colemaQ_F: Colemak Q with F modifications

Dvorak Variations

  • dvorak: Standard Dvorak layout
  • dvorak_L: Left-handed Dvorak
  • dvorak_R: Right-handed Dvorak
  • prog_dvorak: Programmer Dvorak (optimized for coding)
  • prog_dvorak_prime: Enhanced Programmer Dvorak

Modern Optimized Layouts

Recently designed layouts using computational optimization.

Engram

Heavily optimized modern layout focusing on hand alternation and comfort.

Graphite

Modern layout designed to minimize same-finger bigrams.

Semimak

Balanced layout with focus on inward rolls and hand alternation.

Canary

Recently designed layout optimized for English typing.

ISRT

Highly efficient layout designed through algorithmic optimization.

Sturdy

Modern layout focusing on comfort and reduced lateral movement.

Matrix/Ortholinear Layouts

Optimized for ortholinear and split keyboards.
  • colemak_dh_matrix: Colemak DH for matrix keyboards
  • canary_matrix: Canary layout for matrix keyboards
  • graphite_matrix: Graphite for matrix keyboards
  • gallium_v2_matrix: Gallium V2 for matrix keyboards
  • sturdy_ortho: Sturdy optimized for ortholinear keyboards
  • whorfmax_ortho: Whorfmax for ortholinear boards
  • statica_3x5: Layout for 3x5 split keyboards
  • ergo_split46: Layout for 46-key split ergonomic keyboards

International Layouts

European Languages

  • spanish_qwerty: Spanish QWERTY
  • spanish_dvorak: Spanish Dvorak
  • latam_qwerty: Latin American QWERTY
  • azerty: French AZERTY
  • azerty_AFNOR: French AFNOR standardized layout
  • bepo: French BÉPO optimized layout
  • bepo_AFNOR: BÉPO AFNOR standard
  • optimot: Optimized French layout
  • ergol: Ergonomic French layout
  • swiss_french: Swiss French keyboard
  • qwertz: German QWERTZ
  • german_dvorak: German Dvorak
  • german_dvorak_imp: Improved German Dvorak
  • swiss_german: Swiss German layout
  • neo: German Neo optimized layout
  • bone: German Bone ergonomic layout
  • AdNW: German AdNW layout
  • koy: German KOY layout
  • swedish_qwerty: Swedish QWERTY
  • swedish_dvorak: Swedish Dvorak
  • swedish_colemak: Swedish Colemak
  • norwegian_qwerty: Norwegian QWERTY
  • danish_qwerty: Danish QWERTY
  • italian_qwerty: Italian QWERTY
  • portuguese_pt_qwerty_ansi: Portuguese (Portugal) ANSI
  • portuguese_pt_qwerty_iso: Portuguese (Portugal) ISO
  • brazilian_nativo: Brazilian Portuguese native layout
  • polish_programmers: Polish Programmer’s layout
  • uk_qwerty: UK QWERTY
  • estonian: Estonian keyboard layout
  • hungarian: Hungarian keyboard layout

Cyrillic Scripts

  • russian: Russian keyboard layout
  • ukrainian: Ukrainian keyboard layout
  • belarusian: Belarusian keyboard layout
  • bulgarian: Bulgarian keyboard layout
  • bulgarian_phonetic_traditional: Bulgarian phonetic layout
  • macedonian: Macedonian keyboard layout
  • JCUKEN: Standard Russian JCUKEN layout

Middle Eastern Languages

  • arabic_101: Arabic 101-key layout
  • arabic_102: Arabic 102-key layout
  • arabic_mac: Arabic Mac keyboard layout
  • persian_standard: Persian standard layout
  • persian_standard_colemak: Persian Colemak variant
  • persian_farsi: Persian/Farsi layout
  • persian_farsi_colemak: Farsi Colemak variant
  • hebrew: Hebrew keyboard layout
  • pashto: Pashto keyboard layout
  • urdu_phonetic: Urdu phonetic layout
  • turkish_q: Turkish Q layout
  • turkish_f: Turkish F layout
  • turkish_e: Turkish E layout

Asian Languages

  • hindi_inscript: Hindi Inscript layout
  • tamil99: Tamil 99 layout
  • japanese_hiragana: Japanese Hiragana layout
  • korean: Korean keyboard layout
  • thai_kedmanee: Thai Kedmanee layout
  • thai_pattachote: Thai Pattachote layout
  • thai_manoonchai: Thai Manoonchai layout
  • burmese: Burmese keyboard layout
  • mongolian: Mongolian keyboard layout

Specialized Layouts

Programmer Layouts

  • prog_dvorak: Programmer Dvorak
  • prog_dvorak_prime: Enhanced Programmer Dvorak
  • prog_workman: Programmer Workman
  • polish_programmers: Polish Programmer’s layout

Tarmak Learning Progression

Gradual transition from QWERTY to Colemak.
  • tarmak_1: First Tarmak stage (E → K)
  • tarmak_2: Second Tarmak stage (adds more changes)
  • tarmak_3: Third Tarmak stage
  • tarmak_4: Fourth Tarmak stage (almost Colemak)
Tarmak allows you to learn Colemak incrementally, adapting to small changes at a time.

Minimak Variants

Minimal changes from QWERTY for easier learning.
  • minimak_4k: Changes only 4 keys from QWERTY
  • minimak_8k: Changes 8 keys from QWERTY
  • minimak_12k: Changes 12 keys from QWERTY

Complete Layout List

Monkeytype supports 236 keyboard layouts including:
3l, ABNT2, AdNW, APT, APT_angle, ARTS, arensito, arrows, ascii, asl, asset, azerty, azerty_AFNOR, arabic_101, arabic_102, arabic_mac, anishtro, alpha, BEAKL_Zi, beakl_15, beakl_19, beakl_19_bis, bepo, bepo_AFNOR, belarusian, bone, boo, boo_mangle, bulgarian, bulgarian_phonetic_traditional, brasileiro_nativo, burmese, canary, canary_matrix, capewell_dvorak, cascade, colemaQ, colemaQ_F, colemak, colemak_Qi, colemak_Qix, colemak_angle, colemak_dh, colemak_dh_iso, colemak_dh_iso_wide, colemak_dh_matrix, colemak_dh_wide, colemak_dhk, colemak_dhk_iso, colemak_dhv, colemak_wide, colman, ctgap, danish_qwerty, dhorf, Diktor, Diktor_VoronovMod, dusk, dvorak, dvorak_L, dvorak_R, dvorak_fr, dwarf
earthquake, ekverto_b, engram, engrammer, ergo_split46, ergol, ergopti, estonian, flaw, focal, Foalmak, gallaya_angle_ansi, gallaya_angle_iso, gallaya_matrix, gallium, gallium_angle, gallium_nl, gallium_v2, gallium_v2_matrix, german_dvorak, german_dvorak_imp, Gralmak, GralmakS, graphite, graphite_angle, graphite_angle_kp, graphite_angle_vc, graphite_matrix, gust, halmak, handsdown, handsdown_alt, handsdown_neu, handsdown_neu_inverted, handsdown_promethium, haruka, heart, hebrew, hindi_inscript, HiYou, hungarian, hyperroll, ina, inqwerted, ints, ISRT, ISRT_Angle, italian_qwerty, japanese_hiragana, JCUKEN, JUIYAF, klauser, korean, koy, krai, Kuntem, kuntem-jq, kuntum
latam_qwerty, macedonian, MALTRON, maya, middlemak, middlemak-nh, miligram, mine, minimak_4k, minimak_8k, minimak_12k, mir, mongolian, MTGAP, MTGAP_ASRT, MTGAP_full, neo, nerps, night, night_stic, nila, niro, noctum, norman, norwegian_qwerty, noted, octa8, oneproduct, optimot, opy, ORNATE, panini, panini_wide, pashto, persian_farsi, persian_farsi_colemak, persian_standard, persian_standard_colemak, pine, pine_v4, polish_programmers, portuguese_pt_qwerty_ansi, portuguese_pt_qwerty_iso, prog_dvorak, prog_dvorak_prime, prog_workman, PRSTEN, QGMLWB, QGMLWY, quartz, qwerty, qwertz, qwpr
rain, real, recurva, Redaktor, rolll, rollla, romak, RSTHD, rulemak, russian, saiga, saiga-e, scythe, seht-drai, semimak, semimak_jq, semimak_jqc, sertain, snorkle, soul, spanish_dvorak, spanish_qwerty, statica_3x5, stndc, stronk, sturdy_angle_ansi, sturdy_angle_iso, sturdy_ortho, swedish_colemak, swedish_dvorak, swedish_qwerty, swiss_french, swiss_german, sword, tamil99, tarmak_1, tarmak_2, tarmak_3, tarmak_4, thai_kedmanee, thai_manoonchai, thai_pattachote, three, turkish_e, turkish_f, turkish_q, typehack, uciea, UGJRMV, uk_qwerty, ukrainian, urdu_phonetic, Vestnik, vitrimak, vylet, whix2, whorf, whorf6, whorfmax, whorfmax_ortho, workman, wreathy, xenia, xenia_alt, zenith, Zubachev

How to Select a Layout

  1. Navigate to the test configuration area on Monkeytype
  2. Look for the keyboard layout selector
  3. Click to open the layout menu
  4. Search or scroll to find your desired layout
  5. Select the layout - the visual keyboard will update accordingly
  6. Start typing to practice with your chosen layout
The layout selection is saved to your account and will persist across sessions.

When to Use Different Layouts

Learning Alternative Layouts

Practice Colemak, Dvorak, or other efficiency-focused layouts to improve your typing ergonomics and speed over time.

Language Practice

Select your language’s native keyboard layout to practice typing in your language with the correct key mappings.

Testing Specialized Keyboards

Use ortholinear or matrix layouts if you own an ergonomic split keyboard or custom mechanical keyboard.

Programming

Try programmer-optimized layouts that place symbols and special characters in more accessible positions.

Layout Challenges

Many challenges require specific layouts or test your ability with alternative layouts:
  • Layoutfluid funbox mode switches between multiple layouts during a single test
  • Layout Mirror funbox mirrors your keyboard layout horizontally
  • Be like water challenge requires using the layoutfluid mode
Some layouts may have limited word lists or language support. Standard layouts like QWERTY, Colemak, and Dvorak have the most comprehensive support.

Visual Keyboard Display

Monkeytype displays a visual representation of your selected layout, showing:
  • Key positions for the current layout
  • Correct key highlighting during typing
  • Finger position suggestions (if enabled)
  • Next key indicators (if enabled)
The visual keyboard helps you learn new layouts without needing to change your physical keyboard or OS settings.

Build docs developers (and LLMs) love