Everything You Need to Know About Colemak-DH
Colemak-DH is a community-developed refinement of Colemak that moves the D and H keys off the center column to reduce lateral finger stretching. It is widely considered the best general-purpose Colemak variant for row-stagger keyboards.
Best for
Best for Colemak learners who want reduced lateral index-finger movement and are willing to retrain the D, H, G, B, M, and V positions that differ from standard Colemak.
Main challenge
The main Colemak-DH challenge is that several high-frequency keys shift from their standard Colemak positions, so learners switching from Colemak face a second round of deliberate retraining on top of the original switch.
History and Origin
Colemak-DH was created by stevep99 and is documented at colemakmods.github.io. The mod addresses a specific ergonomic weakness in standard Colemak: the D and H keys sit on the center column (the index-finger inner reach), which requires an awkward lateral stretch on row-stagger keyboards. The DH mod moves D to the bottom row under the left index finger and H to the bottom row under the right index finger, replacing them on the center column with G and M.
The result is a layout that preserves Colemak's home-row strengths while eliminating its most criticized finger movement. Colemak-DH has become the most recommended Colemak variant in keyboard communities and is often the default Colemak option in modern keyboard firmware like QMK and ZMK.
Design Philosophy
The DH mod is based on the observation that on row-stagger keyboards, the center column is not actually comfortable for the index finger — the finger has to move laterally rather than curling naturally up or down. By relocating D and H to bottom-row positions directly below the index fingers, the mod trades a lateral stretch for a downward curl, which most typists find more natural.
The home row retains its high letter frequency (A, R, S, T on the left; N, E, I, O on the right), and the overall Colemak philosophy of minimal change from QWERTY shortcuts is preserved. The Z, X, C, V keys remain in their QWERTY positions.
Who Colemak-DH Is Best For
Colemak-DH is the best starting point for anyone choosing a Colemak variant today, especially on row-stagger keyboards. If you are new to Colemak and have not yet committed to the standard version, starting with Colemak-DH avoids the center-column issue entirely.
New Colemak learners who want the most ergonomic version from the start
Standard Colemak users who notice discomfort on the center-column D and H
Typists using row-stagger keyboards (the mod is less critical on columnar/ortholinear boards)
QMK/ZMK keyboard users who want a well-supported firmware layout
Switching from QWERTY or Standard Colemak
Switching to Colemak-DH from QWERTY is comparable in difficulty to switching to standard Colemak — the same 17 keys change, just with D and H in different positions than standard Colemak. From standard Colemak, the adjustment is smaller: only D, H, G, M, and a few neighboring keys change position. Most standard Colemak typists adapt within 1–2 weeks.
SureTyping's lesson paths include a dedicated Colemak-DH curriculum that builds from home row outward, paying special attention to the bottom-row D and H positions that distinguish this variant. The AI trainer will detect if those keys are weaker and generate focused drills.
How to Practice on SureTyping
Start with the home-row track to internalize the core letter positions, then progress through upper-row and lower-row stages. The lower-row lessons are especially important for Colemak-DH since the relocated D and H keys sit there. Pay attention to bigrams like TH and ND, which now involve the bottom row and require clean curl movements.
Use the custom training after completing the guided curriculum. SureTyping tracks your per-key accuracy and will surface the specific transitions that need work, whether that is the new D position, the H curl, or the repositioned G and M.
Tracks
Lesson curriculum
422 lessons — View allLesson Stage
Individual Home Row Letters
Part of the SureTyping guided lesson path.
Foundations
Home Row Combinations
Early lessons that build finger anchors, repeatable reaches, and the first real words.
Lesson Stage
Individual Top Row Letters
Part of the SureTyping guided lesson path.
Upper Reach
Top Row Combinations
Lessons that add upper-row travel, alternating-hand rhythm, and controlled reach.
Lesson Stage
Individual Bottom Row Letters
Part of the SureTyping guided lesson path.
Lower Reach
Bottom Row Combinations
Lessons that strengthen precision on the lower row and improve edge-key control.
Word Building
Word Building
Lessons that turn letter control into common words, bigrams, and connected phrases.
Lesson Stage
Fluency Review
Part of the SureTyping guided lesson path.
Capital Letters
Capital Letters
Lessons that teach opposite-hand Shift technique for capitals before moving into full mixed-text fluency.
Lesson Stage
Shift Technique
Part of the SureTyping guided lesson path.
Lesson Stage
Speed Drills
Part of the SureTyping guided lesson path.
Lesson Stage
Accuracy Training
Part of the SureTyping guided lesson path.
Lesson Stage
Real-World Typing
Part of the SureTyping guided lesson path.
Lesson Stage
Endurance
Part of the SureTyping guided lesson path.
Lesson Stage
Weak Key Recovery
Part of the SureTyping guided lesson path.
Full Keyboard
Mastery
Lessons that combine punctuation, numbers, symbols, mixed strings, and speed-oriented review work.
Lesson Stage
Punctuation & Numbers
Part of the SureTyping guided lesson path.
Lesson Stage
Casper Test Typing Prep
Part of the SureTyping guided lesson path.
Lesson Stage
JavaScript code typing
Part of the SureTyping guided lesson path.
Lesson Stage
TypeScript code typing
Part of the SureTyping guided lesson path.
Lesson Stage
Python code typing
Part of the SureTyping guided lesson path.
Lesson Stage
Java code typing
Part of the SureTyping guided lesson path.
Lesson Stage
Code: C
Part of the SureTyping guided lesson path.
Lesson Stage
Code: C++
Part of the SureTyping guided lesson path.
Lesson Stage
Code: C#
Part of the SureTyping guided lesson path.
Lesson Stage
Code: Go
Part of the SureTyping guided lesson path.
Lesson Stage
Code: Rust
Part of the SureTyping guided lesson path.
Lesson Stage
Code: Ruby
Part of the SureTyping guided lesson path.
Lesson Stage
Code: PHP
Part of the SureTyping guided lesson path.
Lesson Stage
Code: Swift
Part of the SureTyping guided lesson path.
Lesson Stage
Code: Kotlin
Part of the SureTyping guided lesson path.
Lesson Stage
Code: SQL
Part of the SureTyping guided lesson path.
Lesson Stage
HTML & CSS code typing
Part of the SureTyping guided lesson path.
Lesson Stage
Code: Bash
Part of the SureTyping guided lesson path.
Lesson Stage
Kira Talent Typing Prep
Part of the SureTyping guided lesson path.
Lesson Stage
Duet Typing Prep
Part of the SureTyping guided lesson path.
Lesson Stage
Snapshot Written Follow-up Prep
Part of the SureTyping guided lesson path.
Lesson Stage
GRE Analytical Writing Typing Prep
Part of the SureTyping guided lesson path.
Lesson Stage
LSAT Writing Sample Typing Prep
Part of the SureTyping guided lesson path.
Lesson Stage
Coding Assessment Typing Prep
Part of the SureTyping guided lesson path.
