⌥+⌃AltPlusCtrl

Notion Keyboard Shortcuts

Notion's blocks-based editing model means its shortcuts split between two layers: Markdown-style shortcuts that transform a line as you type (typing a hyphen and space to start a bullet list, for instance) and traditional modifier-key shortcuts for navigation and block manipulation. The Markdown-style triggers are arguably Notion's defining feature, since they let fast typists build structured content without ever touching a toolbar or slash command, while the slash command itself remains the universal fallback for inserting any block type you can't remember the typed shortcut for. Because Notion pages can nest infinitely deep and link to each other extensively, navigation shortcuts for jumping between pages and search matter just as much as block-level editing shortcuts. Beyond plain pages, Notion's database views — tables, boards, calendars, and galleries built on the same underlying structured data — carry their own set of keyboard behaviors for moving between cells and opening records, which is where a lot of new users get tripped up, since a database table looks superficially like a spreadsheet but its navigation and editing keys diverge from Excel or Sheets in specific, easy-to-miss ways. The shortcuts below are grouped by what you're actually doing: getting around the workspace, transforming and manipulating blocks, working inside a database view specifically, and applying inline text formatting.

Navigation

ActionWindowsMacDescription
Open Quick Find / searchCtrl+PCmd+PFuzzy-matches against every page title in the workspace as you type, which beats manually drilling down through nested sidebar entries when you already know roughly what the page is called.
Create new pageCtrl+NCmd+NCreates a new blank page at the top level of your workspace, distinct from creating a sub-page nested within an existing page.
Navigate backCtrl+[Cmd+[Returns to the previously viewed page, building a back/forward history similar to a web browser as you click through linked pages.
Navigate forwardCtrl+]Cmd+]Moves forward through the same back/forward page history built by clicking through linked pages, the counterpart to navigating back and only active once you've gone back at least once.
Toggle sidebar visibilityCtrl+\Cmd+\Collapses or restores the left sidebar entirely, useful for reclaiming horizontal space while writing on a smaller screen or when presenting a page to someone else without the workspace navigation visible.
Open current page in new windowCtrl+Shift+NCmd+Shift+NPops the current page out into its own separate window, useful for referencing one page's content side-by-side with another rather than flipping back and forth in a single window.

Block Editing

ActionWindowsMacDescription
Convert line to bulleted listType - then SpaceType - then SpaceStart an empty line with a hyphen and a space and Notion auto-converts it into a bulleted list item right away, with each following Enter press continuing the same list format automatically.
Convert line to headingType # then Space (## for H2, ### for H3)Type # then SpaceTyping one, two, or three hash symbols followed by a space converts the current line into a Heading 1, 2, or 3 block respectively, mirroring Markdown heading syntax.
Duplicate selected blockCtrl+DCmd+DCreates an identical copy of the selected block directly beneath the original, preserving any nested content and formatting.
Move block up/downCtrl+Shift+Up / Ctrl+Shift+DownCmd+Shift+Up / Cmd+Shift+DownRelocates the currently selected block one position earlier or later among its siblings, without needing to drag the six-dot handle that appears on hover.
Indent block (nest under previous)TabTabTucks the current block underneath the one sitting directly above it as a nested child, the exact mechanism Notion's toggle lists and outline-style pages are built on.
Outdent block (un-nest one level)Shift+TabShift+TabPromotes the current block back up one nesting level, the reverse of Tab, pulling a block out from underneath its parent so it becomes a sibling of the block it was previously nested inside.
Convert line to to-do checkboxType [] then SpaceType [] then SpaceAn empty pair of square brackets plus one space, typed right where a new line begins, immediately turns that line into a checkable to-do item, and the checkbox format keeps continuing automatically each time you press Enter to start the next one.
Add a comment to selected text or blockCtrl+Shift+MCmd+Shift+MOpens a comment thread anchored to the selected text or block, letting collaborators discuss a specific piece of content directly rather than leaving a disconnected note elsewhere on the page.
Delete selected blockBackspace (block selected, not text cursor)Delete/BackspaceRemoves an entire selected block outright rather than deleting one character at a time — select the block first (Escape from within it selects its container) so the keypress targets the whole block instead of editing its text content.
Convert line to toggle listType > then SpaceType > then SpaceA right-angle bracket followed by a space converts the line into a collapsible toggle block, which hides its nested children behind a small triangle until clicked open — the building block behind most of Notion's collapsible outline-style pages.

Database Views

ActionWindowsMacDescription
Open a database record (page)Click row, or Enter with row focusedClick row, or Enter with row focusedOpens the selected database row as its own full page — every row in a Notion database is secretly a complete page in its own right, capable of holding any block content beneath its properties, not just the values shown in the table's columns.
Move between cells in table viewArrow keys / TabArrow keys / TabSteps the focused cell across a table view one column or row at a time, similar in spirit to a spreadsheet but limited to whatever property columns are currently visible, since a database table is a structured view of pages rather than a freeform grid.
Create new database rowCtrl+Enter (row focused) or click + NewCmd+ReturnAdds a new blank row (page) to the current database view, inheriting whatever filters are currently applied so the new row appears consistent with the filtered set you're looking at.
Edit a database property valueClick cell or Enter to open editorClick cell or Return to open editorOpens the appropriate input for that property's type — a date picker for a date property, a dropdown for a select property, a checkbox toggle for a checkbox property — since each column in a Notion database enforces its own data type rather than accepting arbitrary free text the way a spreadsheet cell does.
Open Filter menuClick Filter (no default global key)Click Filter (no default global key)Opens the condition-builder for narrowing a database view to rows matching specific property criteria, saved per-view so different views of the same underlying database can show entirely different filtered subsets simultaneously.
Switch between saved database viewsClick view tab at top of database (no default key)Click view tab at top of database (no default key)Jumps between different saved presentations of the same underlying data — table, board, calendar, gallery, timeline — each with its own filters and sort order, without duplicating the actual rows themselves, since all views read from the same single set of pages.

Formatting

ActionWindowsMacDescription
Toggle boldCtrl+BCmd+BBolds the current selection, the same binding you'd expect from virtually any text editor you've ever used.
Format as inline codeCtrl+ECmd+EWraps selected text in a monospace, code-styled inline span, distinct from a full code block which is its own block type entirely.
Highlight selected textCtrl+Shift+HCmd+Shift+HApplies a background highlight color to the selected text, cycling through available highlight colors on repeated presses in some versions.
Toggle italicCtrl+ICmd+IItalicizes the current text selection, consistent with the same binding used across nearly every other text editor and app on this site.
Toggle strikethroughCtrl+Shift+SCmd+Shift+SDraws a line through the selected text, commonly used to visibly mark a to-do item's label as abandoned or a line of text as outdated without deleting it outright.
Clear inline formattingCtrl+Shift+0 (varies) or Ctrl+E toggled off individuallyCmd+Shift+0Strips inline character-level formatting (bold, italic, code, color) from the current selection back to plain text, without affecting the block type itself, which stays whatever it already was — a paragraph, a heading, a to-do.

Frequently Asked Questions

Why does typing # at the start of a line sometimes not create a heading?

The hash-to-heading conversion only triggers if the hash and following space are typed at the very start of an empty or otherwise-untransformed line. If you've already applied other formatting to that block, or you're pasting text containing a hash rather than typing it manually, the automatic conversion won't trigger the same way.

What's the difference between Tab indenting a block and dragging it into another block?

Tab specifically nests the current block as a child of whatever block sits directly above it at the same level, which is fast but limited to that one specific relationship. Dragging via the six-dot handle lets you drop a block anywhere on the page, including nesting it several levels deep into an unrelated section, offering more flexibility at the cost of needing the mouse.

Why doesn't Ctrl+P open the browser's print dialog like it normally would?

Notion intercepts Ctrl+P within its own app and web interface to launch Quick Find instead of the browser's native print function, which is a deliberate override since searching pages is overwhelmingly more common than printing a Notion page directly. If you genuinely need to print, that option is available through Notion's own page-level menu rather than the browser shortcut.

Can I undo a block conversion if the Markdown shortcut triggers unintentionally?

Yes — Ctrl+Z (Cmd+Z) immediately after an automatic conversion (like accidentally typing a hyphen-space that converts to a bullet) reverts just that conversion, restoring the plain text you'd typed, without undoing other unrelated edits further back in your history.

Why does a database row open as a full page instead of just showing an edit form?

Every row in a Notion database is a genuine page under the hood, with its visible property columns representing only part of what that page can hold — the same row can also contain any freeform block content (text, images, sub-databases) beneath its properties, which is why clicking or pressing Enter on a row opens a full page view rather than a compact edit form the way a typical spreadsheet or CRM record might.

Why did converting a paragraph into a heading change more than just its text size?

Headings in Notion are also collapsible blocks by default, meaning converting a paragraph to any heading level adds a toggle arrow that can hide everything nested beneath it — a behavior that catches people expecting a purely visual size change, since it also affects the page's structural outline and any table-of-contents block's behavior if one is present. This is generally useful once you're used to it, since every heading doubles as an optional collapse point with no extra setup required, but it's worth knowing before converting a heading purely for its larger text size and being surprised that the content underneath became collapsible along with it — closing that arrow only hides child blocks from view, it never deletes or moves them, and reopening it instantly restores the same layout.