Why do Gmail and other Web Apps use j & k Keys for Navigation?

If you have enabled keyboard shortcuts in Gmail, you may have noticed that pressing the J key selects the previous (older) message in your inbox while the K key moves you one message up to a newer conversation.

The same j & k keyboard shortcuts can be used for navigating items in Google Reader, for moving between tweets on Twitter.com, and it even works with Tumblr.com.

So why do developers commonly assign the k and j keys for moving up and down respectively and not any other key combination?

unix keyboard

When Bill Joy created the vi text editor for Unix, he used a ADM-3A terminal and its keyboard didn’t have any dedicated arrow keys (see illustration above). Instead the keys h, j, k and l were inscribed with arrow symbols and these keys, in combination with the CTRL key, were used for moving the cursor on the screen.

The keyboard layouts have changed (they got dedicated arrow keys) but the same j & k keys are still popularly used for moving the cursor up and down inside the vi text editor. And since most developers have their roots in the Unix world, they implemented the same shortcut inside their web apps.

Wikipedia has more details on the history of vi and the HJKL keys.

Amit Agarwal is a web geek, solo entrepreneur and loves making things on the Internet. Google recently awarded him the Google Developer Expert and Google Cloud Champion title for his work on Google Workspace and Google Apps Script.

Awards & Recognition

Google Developer Expert

Google Developer Expert

Google awarded us the Developer Expert title recogizing our work in Workspace

ProductHunt Golden Kitty

ProductHunt Golden Kitty

Our Gmail tool won the Lifehack of the Year award at ProductHunt Golden Kitty Awards

Microsoft MVP Alumni

Microsoft MVP Alumni

Microsoft awarded us the Most Valuable Professional title for 5 years in a row

Google Cloud Champion

Google Cloud Champion

Google awarded us the Champion Innovator award for technical expertise

Want to stay up to date?
Sign up for our email newsletter.

We will never send any spam emails. Promise 🫶🏻