The note list and the editor
The middle column is the note list. Each row is a title, a line of the note, its collection and when it was last changed. Word count is available as a sort and in the editor's own footer, rather than on every row. How much of the body you see is up to you: Settings → Notes → Preview lines offers none, one or two. One is the default.
↑ and ↓ move between notes without leaving the list. Right-click a row for the full set of actions, and press and hold Delete note to skip the confirmation.
Copy note puts the note's markdown on the clipboard, for a text editor or a terminal. Copy as rich text puts the rendered note there instead, so it lands in a mail client or a document with its headings, bold, lists and links intact. Both are in the row's menu and in the editor's … menu. The same pair is behind the … that appears over a note's preview in the Spotlight, on the Notes tab and the All tab.
Right-click a folder under Collections to rename it, show it in your file manager, or delete it. A collection is a real folder on disk, so renaming one renames the folder, and every link pointing into it follows. Deleting one moves it to the Trash with everything inside, and asks first with the count.
Opening a collection shows the notes filed in that collection, with the collections inside it listed under the notes so you can go further in. If you would rather a parent show everything beneath it at once, switch Collections show to Everything inside in Settings › Notes. The count beside each folder always matches what clicking it will show.
The detail pane on the right is a live editor. Markdown formats as you type, and the file underneath stays plain markdown at every moment, which is what makes it safe to point at a vault you already keep in another Markdown app: there is no rich-text model re-serializing your file in its own dialect on save.
To work on several notes at once, hover a row and tick the box over its icon, or ⇧-click a second note to tick everything in between. A bar at the top of the list moves them to a collection, adds a tag, marks them as favorites and deletes them. While anything is ticked a click ticks rather than opens, ⌘A ticks every note in the list, and Esc clears. Deleting a note removes its file from your folder, so it asks first.
A note you make with New and leave without writing a word is removed when you move to another note, so trying New a few times doesn't leave a row of empty Untitled notes behind. As soon as you type in it, tag it, star it or rename it, it stays. A note that was already in your folder is never touched.
Formatting from the keyboard
The same commands the toolbar runs, and they toggle off again. With nothing selected they take the word under the cursor, so you can finish a word and press ⌘B.
| Shortcut | Does |
|---|---|
| ⌘B | Bold |
| ⌘I | Italic |
| ⌘E | Inline code |
| ⌘⌥C | Code block |
| ⌘⇧X | Strikethrough |
| ⌘⇧H | Highlight |
| ⌘K | Link |
| ⌘⇧K | Wikilink |
| ⌘1 / 2 / 3 | Heading 1, 2, 3 |
| ⌘⇧8 | Bullet list |
| ⌘⇧7 | Numbered list |
| ⌘⇧9 | To-do list |
| ⌘⇧. | Quote |
| ⌘U | Underline |
Underline, superscript, subscript, a horizontal rule and clear formatting live behind the toolbar's last button. The first three are written as inline HTML, which every markdown app reads.
The toolbar's link button opens a small form for the text and the address and writes the [text](address) for you; select words first and they are the text, select a whole link and its parts come back to be corrected. An address without https:// gets it. ⌘K is the quick version: it wraps the word under the caret and leaves url selected for you to type over.
Select a word and type *, _, `, ~ or = and the word is wrapped rather than replaced. Type the marker again for bold.
Editing from the keyboard
| Shortcut | Does |
|---|---|
| ⌥↑ / ↓ | Move the line up or down |
| ⇧⌥↑ / ↓ | Duplicate the line |
| ⌘J | Join lines |
| ⌘⇧⌫ | Delete the line |
| ⌘D | Select the next occurrence of the selection, as another cursor |
| ⌘⇧L | Select every occurrence |
| ⌘⇧F | Find in the note, and replace. ⌘F stays the world's search box, even with the caret in a note |
| ⌥ click | Another cursor where you clicked |
Several cursors type at once, so renaming a word in three places is one edit.
Tab and ⇧Tab nest and unnest a list item, in one press, to wherever the level above actually starts. Enter continues the list, keeps a nested item at its own depth, and renumbers an ordered one. Press it on an empty item to step out a level, and again to leave the list.
All of it works inside a fenced code block too, where markdown says lists do not exist. If you are typing a list in a fence, you want it to behave like a list.
Sections, contents and links to a heading
Hover the left edge of a heading and a chevron appears: click it to fold the section to its heading and back. A fenced block and a callout fold the same way. Write [TOC] on a line of its own and it draws as a table of contents that keeps itself current, each entry a link to its section. Link to a heading with [[Note#Heading]]: type # inside the brackets and the note's headings are offered, and following the link lands on that section. [[#Heading]] links within the note you are in.
Drag a list item by the grip that appears beside it to move it, with everything nested under it, above or below another item.
Emoji: any emoji you paste or type shows as itself. A shortcode like :handshake: or :tada:, the kind chat apps and code hosts write, draws as the emoji away from the cursor and shows its code on the line you are editing. Type : and two letters for a picker that inserts the emoji itself, or use the toolbar's smiley to search the whole set by name or scroll it by group. To keep the characters as typed, put a backslash in front: \:handshake:. A time such as 10:30:45 is never taken for one.
Footnotes: [^1] in the text and [^1]: the note at the foot. The reference draws as a small number with the note on hover, numbered by first appearance; click it to go to the note and click the note's number to come back. Type /footnote, or pick it from the toolbar's last button, and both halves are written for you with the cursor on the note.
Slash commands
Type / at the start of a line and a menu of blocks appears: headings, lists, a task list, a quote, the five callouts, a table, a code block, a divider, today's date, a link, a link to a note, a note embedded in this one, a footnote, an image, an emoji. Keep typing to filter, Enter to insert, Escape to keep the slash. /link opens the same form as the toolbar's link button and /emoji the same picker; /embed leaves the caret inside ![[ ]] with the note picker open. A slash in the middle of a sentence or a URL is a slash. The menu opens below the line, or above it when the line is near the bottom of the editor, and never runs off the edge.
Tables
A table you are not editing draws as a table, and you type straight into the cells. Tab moves to the next cell and wraps to the next row, Shift Tab goes back, Enter moves down, and the arrow keys cross cells and leave the table at its edges. Tab or Enter past the last cell adds a row.
Hover a row and a grip (six dots) appears at its left edge; hover a column and one appears above it. Click the grip to select the whole row or column and open its menu: insert above or below, move, duplicate, delete, and for a column align and sort. Drag the grip to move the row or column, a line shows where it lands. With a row or column selected, ⌫ deletes it. Hover the table and a + rail appears along its right edge and another along the bottom: one click adds a column at the end or a row at the bottom. Right-click any cell for the whole menu at once, plus clear cell. Every one of these is a single undo step.
Press in one cell and drag into another to select a rectangle of cells (Shift-click extends it). ⌘C copies it as tab-separated text, ⌘X copies and clears, ⌫ clears, ⌘V fills from the top left, ⌘B and ⌘I wrap every cell. Right-click the selection for the rest: cut, copy, paste, bold, italic, strikethrough, highlight, code, comment (%%...%%), clear formatting, align the columns, clear the cells, and delete the rows or columns when the selection spans whole ones.
Every markdown table has a header row: the line of dashes under it is what makes the block a table at all, so the header cannot be deleted. Right-click a header cell and choose Hide header to blank it and draw the table without one; right-click any cell of a headerless table for Show header to bring it back. Other apps show a hidden header as an empty first row.
The toolbar's table button opens a rows by columns picker: the fixed strip above the grid is the header, and the rows you pick are the body, so a 3 × 3 pick is a header and three rows. The table lands drawn, with the first header cell selected, so typing names it. Copy cells out of a spreadsheet and paste them on an empty line and they become a table; paste them into a cell and they fill across and down from it, growing the table as needed.
While a cell has the caret it shows its markdown, the way other Markdown apps do: **P0** with its stars, a link with its brackets. That is what lets you format inside a cell: select a word and press ⌘B, or use the toolbar's bold, italic, code, highlight and emoji, and the markers land around the selection. Leave the cell and it draws formatted again. ⇧Enter starts a new line inside the cell; a table row is one line of the file, so the break is saved as <br>, which is what other Markdown apps write too.
A | typed in a cell is kept as text rather than splitting the cell in two.
Press Escape, or click the row outside any cell, to see the raw markdown instead.
Column widths come from the content. A markdown table has no widths in it, so anything draggable would be forgotten when the file reopens.
Code blocks
⌘⌥C or the toolbar's code-block button wraps the selected lines in a fence, or drops an empty one with the cursor inside.
Code is highlighted in about a hundred languages. Hover a block and its language shows at the top right, beside the copy button: click it to pick or change one, and the word after the opening fence is written for you. In Settings → Notes you can turn on line numbers inside every block and choose whether long lines wrap or run off to the right.
Callouts
A quote that opens with [!note], [!tip], [!important], [!warning] or [!caution] draws as a colored box with an icon, the same syntax other Markdown apps use, and the other common names (info, danger, success and so on) are understood. Words after the marker are the box's title. Click the chevron on the title to fold the box: the fold is written into the file as [!note]-, so a note folded here is folded in other Markdown apps too. The toolbar's callout button wraps the selection in one, and /callout opens an empty one.
Hover a code block and a copy button appears in its top right corner. What it puts on the clipboard is the raw text between the fences, exactly as it sits in the file, so indentation, blank lines and tabs all survive a paste into a terminal or an editor. The fence and the language word are left behind. The same button is in the rendered preview and in a Markdown file opened from your file manager.
There are no View and Edit modes to switch between. Syntax markers hide until your cursor reaches the line that carries them, so the note reads as a document and stays editable in place. The formatting button in the toolbar turns the whole effect off and shows the raw markdown, which is also how you see an image's source. Double-click an image to edit its markdown without leaving live preview.
The gutter between the list and the detail pane can be dragged, and so can the outline rail on the right. Both widths are remembered for the next launch.
Type - [ ] for a checkbox you can click, and ticking one strikes the line
through. Wrap text in ==equals signs== to highlight it, which is the common syntax so the same file highlights there too. The toolbar also inserts a table,
already aligned, and table rows are set in a tabular font so the columns line up
as you type them.
The toolbar shows what is applied where the cursor is. Put it in a heading and H1 lights up; inside bold text, or a task, or a quote, those buttons light too. A folded menu lights when anything inside it applies.
A note's tags sit in the gray strip at its foot: type one and press Enter. The arrow at the strip's right end puts it away, and the tag button in the status line underneath brings it back.
Narrow the pane and the toolbar folds rather than wrapping onto a second line: headings collapse into one menu first, then lists (with the quote), then strikethrough, code block, callouts and the picture move into the ⋯ menu and the view group shrinks to its two zoom steps, and at the narrowest width only bold, italic and link stay flat beside the menus. Every action stays reachable at every width, and keyboard shortcuts are unaffected either way.
Pictures draw in place. Hover one and two buttons appear over its corner: the magnifier opens it full size (Esc, the X or the backdrop closes it), the code button shows its markdown so you can change the path or the alt text. A click on a picture selects it; a second click opens it full size. In a Markdown file opened from a file, a picture named by ![[name.png]] is found anywhere in the note's vault, the same way the app finds it.
The Markdown window has the note editor's header: find, AI, the outline, and the two view toggles. Move to a tab, in the bar at the bottom left, puts the note back among the app's note tabs and closes this browser tab. A file inside your vault is a note there too, with its real title (edit it to rename the file) and its star; a file from anywhere else shows its name, and its full path sits in the window's title bar.
Double-click a row to open the note in its own Markdown window. TypeFire's
--- header is hidden while you edit there, and written back
untouched when you save, so tags survive a round trip through the external
editor.
Choosing how a note reads
Settings → Appearance carries three settings for the note body: Note font, Line height (compact, normal or relaxed) and Note text size. The font list is ten faces that ship with macOS, four sans, four serif and two monospaced, and each is shown in its own face in the menu. Code blocks and inline code stay monospaced whatever you pick.
Note version history
Pro. Every time a note is saved, TypeFire keeps a copy of what it looked like before, so you can go back. Open a note, then ⋯ → Version history.
- Kept in TypeFire's own storage, not in your vault. Nothing hidden is written into the folder you chose.
- Up to 50 versions per note, for 90 days. The most recent is always kept, however old it is.
- Restoring saves the current text to history first, so restoring the wrong version is itself undoable.
- Deleting a note forgets its history. Renaming one keeps it.
Documentation for TypeFire for Chrome. Updated 2026-10-12.