Thunderbird actually has fairly complete keyboard shortcuts. The schema is all over the place, there’s little consistency to the design of the keyboard shortcuts, and frequently needed shortcuts are often out-of-the-way keys or difficult to hit multi-key combos, but the shortcuts do cover a lot of the app’s functionality. You can’t do everything with the keyboard, you’ll have to reach for the mouse sometimes, but a lot can be done from the keyboard in Thunderbird.
The complete set of shortcuts isn’t documented in any one place that I can find, so this is my cheat sheet. It isn’t intended to be comprehensive, just contains the ones that I find useful. It’s compiled from experimentation and various sources including:
- Thunderbird keyboard shortcuts page on Mozilla Support
- An old Mozilla Keyboard Shortcuts page
- The keyconfig Thunderbird extension (install the extension then go to Tools → Keyconfig to get a list of shortcuts)
- Browsing through the in-app menu bar (it has keyboard shortcuts labeled on the right hand side of each menu item)
Ctrl+z undoes the last action, and Shift+Ctrl+z redoes, but be warned that undo doesn’t work for all actions.
The menu bar
Menu bars are out of fashion these days. The menu bar is hidden by default in both Firefox and Thunderbird now. You can still open the menu bar in Firefox or Thunderbird with a keyboard shortcut like F10 or Alt+f, or you can show it permanently (so you can use it with the mouse too) with Alt+v Enter Enter (View → Toolbars → Menu Bar in the menu bar). Chrome doesn’t have a menu bar (its header bar menu is similar, and can be opened with F10 and controlled with the arrow keys and Enter, but contains less functionality). Modern Gnome apps also have a Chrome-like header bar menu that can be opened with F10 instead of a menu bar.
But the humble menu bar has a lot of strengths: it’s global and consistent, it has space to contain a lot of functionality, it can be controlled with either the keyboard or the mouse, you don’t need to memorize keyboard shortcuts to control it with the keyboard (since you can see on the labels what letters you need to press to activate them) but you will get faster as you start to memorize common actions. Unlike with direct keyboard shortcuts, the menu bar provides a visual confirmation of which action was selected, so mistakes are less likely and less confusing when they happen. Menu bar labels even provide a place to document the direct (non-menu-bar) keyboard shortcuts for actions.
Use the menu bar as the main way of controlling Thunderbird with the keyboard, and memorize just a few direct keyboard shortcuts for very commonly used actions. The advantage of direct keyboard shortcuts is that they can be done with a single keystroke, whereas getting to a menu bar item requires at least two, and often three or four keystrokes. Menu bars are more flexible though: they can contain more actions, and can contain dynamic lists of options such as lists of folders to copy or move to.
Using the menu bar with the keyboard
None of what follows is unique to Thunderbird, it’s just the standard way of using a menu bar from the keyboard (and the standard way that apps use their menu bars to document their keyboard shortcuts) across Linux, Windows and macOS. For example, here’s Leafpad:
Getting back to Thunderbird though, Alt+f, e, v, g, m, t or h opens the menu bar at the File, Edit, View etc menu. F10 also opens the File menu.
You can use the menus with the arrow keys and Enter, but you can also jump directly to and activate a menu item in one keystroke by hitting the underlined character in the menu item’s label or, if there’s no underlined character, the label’s first character. This means you can use combos of 2+ keystrokes to hit a menu item. For example the key combo Alt+m c r r will copy a message by opening the Message menu (Alt+m) then the Copy To submenu (c), then the Recent submenu (r), and then finally selecting the Receipts folder (r again):
If multiple menu items have the same underlined or first character then hitting that character will jump to the first matching menu item but not activate it yet, and hitting it repeatedly will cycle through the matching items. When the item you want is selected then hit Enter to activate it. The underlined characters in the menu labels have been chosen to avoid this situation, but it can still happen when selecting a folder from your email. For example here hitting b repeatedly cycles through all the folders beginning with b:
Keyboard shortcuts documented in the menu bar
Last menu bar tip: the right-aligned labels on many menu bar items show you the keyboard shortcuts that you can use to execute those actions directly. For example, here the Message menu is showing you that instead of going to Message → New Message (Alt+m n) you can just hit Ctrl+n. Similarly, a will archive the currently selected message, and r will mark the thread as read, without having to open any menus:
So the way to learn most keyboard shortcuts in Thunderbird is this:
Begin by using the menu bar with the arrow keys and Enter to control Thunderbird with the keyboard
For menu bar items that you use a lot, start to use and memorise menu bar key combos like Alt+m n to get to them. For many actions, such as things like moving or copying a message that require selecting a folder from the menu, these key combos are the best way to do those actions with the keyboard.
For menu bar items that you use a lot and that have a keyboard shortcut labeled on them, start to use and memorize the direct keyboard shortcut instead.
Most keyboard shortcuts in Thunderbird have menu bar items with the shortcut documented on them, so they can be learned over time from using the menu bar. But not all keyboard shortcuts have menu bar items. Some that don’t (see below for more on each of these):
- Space to scroll through unread content
- → and ← to move within the current thread and expand and collapse threads.
- Selecting multiple messages with Shift+↑ and Shift+↓.
- Shift+Del to delete a message immediately (rather than moving it to the trash)
- Shift+c to mark all as read (although this can be done with the menu bar by selecting all then marking as read)
- Moving between tabs
- Going to the global search bar or quick filter toolbar
- Moving the keyboard focus between the three mail panes with F6 and Shift<+F6
Shift+F10 opens the context menu (right mouse click menu) for the currrently selected folder, message, or thread:
Which context menu you get depends on which mail pane (see The three mail panes) has the keyboard focus and on whether a thread or a single message is selected. The context menu for the message pane contains many of the same items as, but isn’t exactly the same as, the one for the thread pane. Most, maybe all, of what you can do from these context menus can be done using the menu bar instead, without having to worry about which pane has keyboard focus / which context menu you’re going to get.
The main window
Getting new messages
F5 or F9 gets new messages for the currently selected account, Shift+F5 or Shift+F9 gets new messages for all accounts.
The three mail panes
F6 and Shift+F6 move the keyboard focus between the folder pane, thread pane, and message pane. For example:
If you want to go to another folder you can hit F6 until the focus is on the folder pane, then use the up and down arrows. (Alternatively, press Alt+g o to change folders using the Go → Folder menu.)
Similarly, you can use F6 to focus the thread pane and then use the arrows to move betweeen messages. (Alternatively, f and b always move to the next and previous message in the thread pane, regardless of which pane has keyboard focus. This will automatically move the keyboard focus to the thread pane.)
Or focus the message pane and then use the arrows to scroll the message contents.
F8 shows / hides the message pane. If you use the Vertical View layout as I do this can be useful when you want to read a long subject or sender in the thread pane.
Moving between messages
f and b change the keyboard focus to the thread pane and move between messages.
[ and ] move “back” and “forward”. This means back to the previously selected message, no matter whether that message was in the current folder or another, and whether it was selected using the mouse or the keyboard. The exact behaviour of these is pretty confusing though. It behaves differently after moving between messages using ↑ and ↓ than after using f and b, and doesn’t work with selecting multiple messages. These are probably best only used occasionally, when you want to quickly jump back to a message far away in the current folder or in a different folder.
Moving through unread messages
n, t and Space are ways to advance through unread messages skipping over read ones. n goes to the next unread message and t goes to the next unread thread. n and t will ask you if you want to move on to the next folder if there are no more unread in the current folder. Similarly, Space is a way to scroll through all unread content: repeatedly hitting Space it will scroll down in the current message until it gets to the bottom of the message, then it’ll go to the next unread message and do the same, and like n it will ask you if you want to move to the next folder with unread messages after you’ve exhausted the current ones.
→ and ← move within the current thread and expand and collapse threads. → expands the currently selected thread if it isn’t expanded already, then moves to the next message in the thread, and won’t move beyond the end of the thread. ← moves to the previous message in the thread, or collapses the thread if already on the first message in the thread (and also won’t move outside of the current thread). → and ← only work when the keyboard focus is in the thread pane. If focus is in the folder pane they do a similar thing but with the folders. If the focus is in the message pane they scroll the message horizontally (or do nothing if there’s no horizontal scroll bar).
\ collapses all threads and * expands all threads (keyboard focus can be in any pane).
Shift+Ctrl+a expands the currently selected thread (or the thread that the currently selected message belongs to) if it isn’t already expanded, and selects all the messages in the thread. This works whether the keyboard focus is in the folder, thread or message pane.
Selecting multiple messages
Ctrl+a selects all messages in the thread pane if the keyboard focus is in the folder or thread pane. If the focus is in the message pane then it selects all text in the current message instead.
When the keyboard focus is in the thread pane you can select multiple messages without necessarily selecting all messages in the thread, with Shift+↑ and Shift+↓.
Acting on messages
a archives the selected message(s) or thread(s).
Shift+Ctrl+m moves the currently selected message to the same folder as the last message that was moved was moved to. (The same folder as named in the Message → Move to "Some Folder" Again menu bar item.)
Del deletes the selected message(s) or thread(s) to the trash. Shift+Del deletes them immediately, without moving them to the trash first. Shift+Del can’t be undone with Ctrl+z either.
s stars / un-stars the selected message(s) or thread(s).
m marks the selected message(s) or thread(s) as read / unread.
r marks the currently selected thread, or the thread that the currently selected message belongs to, as read (but can’t be used to mark a read thread as unread, like m can).
Shift+c marks all as read. Again unlike m, pressing Shift+c again will not mark all as unread. You can undo Shift+c with Ctrl+z though.
Ctrl+p prints the selected message. Doesn’t work if a thread is selected. Does work is multiple individual messages are selected, but does something very weird.
Ctrl+s saves a message as an
1, 2, 3, 4 and 5 add/remove different tags (important, work, personal, …) from the message, and 0 removes all tags from the message.
Ctrl++ zooms in on the contents of the current message, Ctrl+- zooms out, and Ctrl+0 resets the zoom level.
Ctrl+u views the raw source of the selected message.
Ctrl+m or Ctrl+n opens a new message.
Ctrl+r opens a new message in reply to the currently selected message(s). This works with multiple messages selected, and will open multiple reply windows. Keyboard focus can be on any of the three panes.
Ctrl+Shift+r does a “reply all” to the selected message(s).
Ctrl+Shift+l does a “reply to list” for the selected message(s).
Ctrl+l forwards the selected message(s).
Ctrl+e edits selected message(s) as if they were new messages.
None of the keyboard shortcuts for replying or forwarding work when a thread is selected, but they all work when multiple messages are selected. Shift+Ctrl+a expands the currently selected thread and selects all its messages, at which point the reply and forward shortcuts will work.
F2 renames current folder.
Shift+Ctrl+b opens the Address Book window.
Closing and quitting
Ctrl+w when the main window is selected closes the main window. This will quit Thunderbird if there aren’t any other windows open. If there’s a message window open, for example, that window will remain open after the main window closed. Ctrl+F4 does the same thing but only works from the main window, doesn’t work for closing a message window (but does work for closing a tab). Ctrl+q quits Thunderbird entirely (only works from the main window).
Enter opens the selected message(s) or thread(s) in tab(s). This will open multiple tabs if a thread or multiple messages are selected. Ctrl+o does the same but doesn’t work when a thread is selected!
Shift+Ctrl+o opens the selected message as conversation. This only works when a single message is selected, not multiple messages or a thread. The conversation view for a message is a list of all messages in the same thread as the message, including messages that aren’t in the same folder, such as messages sent by yourself.
Ctrl+j opens the Saved Files tab. You can search and scroll through all attachments that you’ve ever saved, and open the downloaded files.
Alt+1, Alt+2, Alt+3, Alt+4, Alt+5, Alt+6, Alt+7 and Alt+8 go to the 1…8th tabs. Alt+9 goes to the last tab. Ctrl+Page Up and Ctrl+Page Down go to the next and previous tabs. Ctrl+Tab and Shift+Ctrl+Tab also go to the next and previous tabs.
Ctrl+w or Ctrl+F4 closes a tab. Shift+Ctrl+t restores recently closed tabs, like in Firefox.
These all work no matter which pane has keyboard focus:
Ctrl+k focuses the global search bar. (The search results tab that you get after doing a search with this seems to have no keyboard controls at all. You can avoid it by using the Search as list extension.)
Shift+Ctrl+k opens and focuses the quick filter toolbar for filtering the messages in the thread pane. Esc closes it again.
Ctrl+f opens and focuses a “Find in page” toolbar for the currently selected message (only works when a single individual message is selected). Once a search term is entered here Ctrl+g goes to the next match (and moves the keyboard focus into the message pane). Shift+Ctrl+g goes back to the previous match. Alternatively F3 and Shift+F3 also cycle through matches.
Shift+Ctrl+f opens the advanced search window.
The message composer window
This window has its own different menu bar and keyboard shortcuts.
Ctrl+s saves a message as a draft.
Ctrl+Enter sends the message.
Shift+Ctrl+Enter sends the message “later”. This is useful when composing messages while offline. The message will go into your local outbox folder. You can manually send the message later with File → Send Unsent Messages. I don’t think unsent messages ever get sent automatically.
Ctrl+1 goes back to the main Thunderbird window (but leaves the compose window open).
Shift+Ctrl+a is supposed to open the attach file(s) browser, but doesn’t seem to work for me.
Ctrl+w closes the message window (you’ll be asked whether you want to discard the in-progress message or save it as a draft).
F9 shows and hides the contacts sidebar.
Ctrl+r re-wraps text.
Shift+Ctrl+p opens a spellchecking dialog for the whole email that you can control with the keyboard.
There are many other windows and tabs in Thunderbird. The address book window, the view source window, the advanced search window, the search results tab, the saved files tab… These all have their own menu bars and some of them have some of their own keyboard shortcuts. Some of the main window keyboard shortcuts will work in some of them. I don’t use any of these windows often, so it’s not worth learning keyboard shortcuts for them.