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

Published in: keyboard shortcuts

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.

Published in: keyboard shortcuts

Looking for something? Find here!

Meet the Author

Web Geek, Google Developer Expert
Amit Agarwal

Amit Agarwal is a Google Developer Expert in Google Workspace and Google Apps Script. He holds an engineering degree in Computer Science (I.I.T.) and is the first professional blogger in India. He is the developer of Mail Merge for Gmail and Document Studio. Read more on Lifehacker and YourStory

Get in touch