⌥+⌃AltPlusCtrl

Slack Keyboard Shortcuts

Slack is built around the assumption that you'll be jumping between dozens of channels and direct messages all day, and its keyboard shortcuts reflect that — the heaviest emphasis is on fast navigation between conversations rather than text formatting, which is comparatively minimal. The Quick Switcher is the single shortcut worth memorizing above all others, since it turns Slack's sometimes-cluttered sidebar into a searchable list you can jump through without ever touching the mouse. Beyond navigation, Slack supports a reasonable set of message-composition and formatting shortcuts borrowed loosely from Markdown conventions, plus a few workspace-level shortcuts for muting, marking things read, and managing notifications during a busy day. Slack's own shortcut cheat sheet, opened by typing a question mark into any message box or through the Help menu, stays in sync with whatever the current desktop app version supports, which matters since Slack has quietly changed a few default bindings across major redesigns. Slack also treats keyboard-driven workspace switching as a first-class feature for anyone who belongs to more than one organization, since the numbered workspace shortcuts and the search bar both avoid ever touching the sidebar with a mouse. New desktop app versions occasionally shuffle a formatting shortcut or two during interface overhauls, so it is worth rechecking the in-app cheat sheet after a major update if a binding you rely on daily suddenly stops responding the way you expect.

Navigation

ActionWindowsMacDescription
Open Quick SwitcherCtrl+KCmd+KOpens a searchable list of every channel, direct message, and workspace you have access to — type a few letters and press Enter to jump straight there, by far the fastest way to move around Slack once you're in more than a handful of channels.
Jump to next unread channelAlt+Shift+DownCmd+Shift+DownAdvances to whichever channel or direct message is next in line with an unread badge, working through a notification backlog top-down instead of eyeballing the sidebar for bold unread text.
Browse all channelsCtrl+Shift+LCmd+Shift+LOpens the full channel directory for the workspace, including channels you haven't joined yet, searchable by name or topic.
Open direct messages listCtrl+Shift+KCmd+Shift+KJumps to a list of all your direct message conversations specifically, useful when you know you're looking for a DM rather than a channel and want to skip the mixed sidebar.
Mark all unreads as readShift+Esc (or Ctrl+Shift+A in some builds)Shift+EscClears unread indicators across the entire workspace in one action, useful after returning from time away when catching up message-by-message isn't realistic.
Switch between workspacesCtrl+1 through Ctrl+9Cmd+1 through Cmd+9Jumps directly to a specific workspace by its position in the sidebar's workspace switcher, numbered in the order they were added — handy for anyone juggling a personal workspace alongside two or three client or community workspaces throughout the day.
Open preferencesCtrl+,Cmd+,Opens the full preferences panel covering notifications, themes, accessibility, and language settings, the same destination reached by clicking the workspace name in the top-left corner and selecting Preferences from the dropdown.
Search messages and filesCtrl+FCmd+FOpens the search bar scoped to the current workspace, supporting modifiers like from:, in:, and before: to narrow results — distinct from Quick Switcher, which jumps to destinations rather than searching message content.

Messaging

ActionWindowsMacDescription
Edit your last messageUp Arrow (in empty message box)Up Arrow (in empty message box)Pressing Up with an empty compose box loads your most recently sent message into edit mode, the fastest way to fix a typo without scrolling up and hovering to find the edit option.
Add emoji reaction to focused messageHover message + Ctrl+Shift+\\ or click emoji iconHover message + Cmd+Shift+\\Opens the emoji picker anchored to a specific message for adding a reaction without needing to right-click or hunt for the small reaction icon that only appears on hover.
Upload a file to current conversationCtrl+Shift+UCmd+Shift+UOpens a file picker to attach a file directly to the current channel or DM, equivalent to clicking the paperclip icon in the compose box.
Reply in thread to focused messageT (with message focused via arrow keys)T (with message focused)Opens the reply-in-thread panel for the message the keyboard focus is currently sitting on, letting you type an in-thread reply without precisely clicking that small link beneath the message.

Formatting

ActionWindowsMacDescription
Bold selected textCtrl+BCmd+BWraps the selected text in asterisks to render it bold, following Slack's Markdown-like formatting syntax.
Format as inline codeCtrl+Shift+CCmd+Shift+CWraps selected text in backticks to render as inline code with a monospace font and subtle background, commonly used for short code snippets or filenames in a message.
Format as code blockCtrl+Shift+Enter (varies by version) or triple-backtick syntaxCmd+Shift+EnterConverts a multi-line selection into a fenced code block with preserved formatting and a monospace font, the right choice for pasting multi-line code rather than inline formatting which strips line breaks visually.
Start a bulleted listCtrl+Shift+8Cmd+Shift+8Switches the current line to a bulleted list item, and Slack keeps auto-continuing the bullet on every Enter press until you either hit Enter twice in a row or delete the bullet by hand.
Italicize selected textCtrl+ICmd+IWraps the selected text in single underscores to render it as italic, mirroring the same Markdown-style convention Slack uses for bold and strikethrough — useful for softening emphasis on a word without shouting it in bold.
Strikethrough selected textCtrl+Shift+XCmd+Shift+XWraps the selected text in tildes so it renders with a line through it, commonly used to visibly retract a statement in a message rather than deleting and retyping it, which loses the correction context for anyone already reading the thread.

Frequently Asked Questions

Why does the Quick Switcher sometimes show channels I've never joined?

Quick Switcher searches the entire workspace directory by default, not just channels you belong to, so public channels you haven't joined yet still appear in results. Selecting one prompts you to join before viewing its content, which is intentional — it's meant to help you discover and join relevant channels, not just navigate ones you're already in.

Why doesn't Up Arrow edit my last message sometimes?

This only works when the message compose box is completely empty and focused. If there's any draft text already typed, or you're in a thread panel rather than the main channel, Up Arrow either does nothing or moves the cursor within existing text instead of loading your last sent message for editing.

Is there a way to mark just one channel as read without clearing everything?

Yes — opening a channel and scrolling to the bottom marks just that channel as read automatically, or right-clicking a specific channel in the sidebar offers a 'Mark as Read' option scoped to that one channel. The Shift+Esc shortcut is specifically for clearing every unread across the whole workspace at once, which is a different and broader action.

Why does my bold formatting use asterisks instead of a visual bold button taking effect immediately?

Slack's message composer uses a lightweight Markdown-like syntax under the hood — Ctrl+B wraps your selection in asterisks, which render as bold once the message is sent or as you type if you're using the rich text composer mode. If you're seeing literal asterisks in a sent message rather than bold text, your workspace may have rich text formatting disabled in compose settings.

Is there a shortcut to quickly jump to a specific channel by typing its name?

Ctrl+K (Cmd+K on Mac) opens the Quick Switcher, a fuzzy-search box for jumping to any channel, direct message, or person by typing a partial name — far faster than scrolling the sidebar once a workspace has more than a handful of channels, and it also remembers recently visited destinations so frequently used channels surface near the top even before you finish typing. Typing a channel name that doesn't exist yet also surfaces an option to create it directly from the same box, skipping the separate new-channel dialog entirely.

Can I change Slack's default keyboard shortcuts?

Slack does not offer a general shortcut remapping panel the way some editors do, but a handful of navigation shortcuts can be adjusted for accessibility purposes under Preferences > Accessibility, and some users work around missing customization by using OS-level remapping tools like Karabiner on Mac or AutoHotkey on Windows to bind their own combinations to Slack's existing actions.