Why KBchess?

Ever since I learned touch typing, I’ve hated taking my hands off the home row. I rely heavily on tools like Vim for text editing, Vimium for browsing and any keyboard shortcut known to man, just to avoid reaching for a mouse. So when my phone was stolen and I was forced to play chess on my laptop, the slow touchpad adjustments drove me crazy. That frustration led me to build KBchess and Home Row Notation—a way to play online chess purely by touch typing since the existing tools - Lichess native feature "Input moves with the keyboard" and the 3rd party Chess.com Keyboard extension - worked but had several limitations.

1. Algebraic Notation Isn't Typing-Friendly

The supported notation systems include:

  • SAN Nf3
  • UCI g1f3
  • ICCF 7163

Every coordinate contains both a letter and a number, forcing your fingers to move across all four rows of a QWERTY keyboard.

Worse still, every move requires reaching for the number row—the furthest row from your resting finger position—making keyboard input less fluid and more fatiguing than it could be.

2. Finding Coordinates Requires Triangulation

Both sites label only the files (a–h) and ranks (1–8) around the edges of the board.

To identify a square's coordinate, you have to mentally combine the file and rank—for example, recognizing that a square lies on file e and rank 4, then translating that into e4.

It's a small mental step, but one that has to be repeated for every move, creating unnecessary cognitive overhead.

3. Coordinates Change When the Board Flips

In SAN, UCI, and ICCF notation, coordinates are defined from White's perspective.

When you're playing Black, the board flips, causing every coordinate to flip as well.

For example, the physical square in the bottom-left corner of your screen is:

  • a1 when playing White
  • h8 when playing Black

This makes it difficult to build lasting muscle memory because you can't instinctively associate a physical location on the board with a single coordinate.

Enter KBchess, a browser extension that seeks to improve keyboard chess by solving the problems above.

1. Home Row Notation (HRN)

Learn more in the dedicated HRN page

2. Every Square Is Already Labeled

Instead of forcing you to determine coordinates from the board edges, KBchess places a subtle 2-letter HRN label in the top-left corner of every square.

Rather than thinking:

That's file b... rank 1... so b1...
  • No triangulation.
  • No mental coordinate conversion.
  • Just read and type.

3. HRN Coordinates Never Flip

Unlike SAN, UCI, and ICCF, HRN coordinates are tied to the physical board layoutrather than the player's perspective.

The square in the bottom-left corner of your screen is always AA, regardless of whether you're playing White or Black.

Likewise, the top-right corner is always ;;.

Because every physical square always maps to the same HRN coordinate, you gradually build consistent muscle memory.

Over time, you begin to intuitively associate a square's physical location with its coordinate, allowing you to type moves without first thinking about the notation.

This kind of muscle memory is much harder to develop when the same physical square changes coordinates depending on which color you're playing.

4: Dynamic Highlighting

Columns are highlighted instantly on the screen as their corresponding HRN key is pressed. This helps you determine if you've mistyped a coordinate's first letter.

5: Instant Reset

Pressing the Space bar, Backspace or Escape cancels your current column/file selection and premoves, allowing you to instantly recover if you mistype the first character of a coordinate.