Skip to main content
A table is written the way Markdown writes one, and the file keeps every pipe and dash:
The editor shows it as a table: a border with rounded corners, a line under every row and at every column, the header in the bold weight on a faint fill, and a little room round every cell’s words. Each column is as wide as its widest cell, whatever the font — the narrower cells are padded to fit, so the columns line up in Helvetica as they would in a monospace face. Nothing is drawn from the file’s own marks and nothing is added to it: the pipes and the separator’s dashes are laid out but never shown, and move the caret through a row and every character is still there. A table is never wider than the page. When its columns would be, the widest are narrowed first, together, and a cell longer than its column wraps under it — a key on the left, a paragraph on the right, the way a sheet of practicalities reads — with the row’s lines running the full height of the wrapped cell. A long cell in a column that is not the last wraps the same way, and the cells after it in that row follow on its last line rather than sitting in their columns; the grid leaves those columns open for that row. Narrow the window and the table narrows with it. A column’s alignment comes from the separator, as it does everywhere: --- or :--- for left, ---: for right (numbers, usually), :---: for centre. Bold, italics, links, chips and dates work inside a cell as they do anywhere, and a cell can be empty. The separator is the one place smart dashes could get in the way, and they stand down there: type | --- | --- | with them on and the hyphens stay hyphens, where before they became an em dash and the table came apart. A separator that was already turned to | — | — | somewhere else — in a message, say, before it was pasted — still reads as a table here, and a paste straightens it.

Moving about

Tab goes to the next cell and selects what is in it, so typing replaces it; ⇧Tab goes back. Tab from the last cell of the last row adds a row. Outside a table Tab keeps its other meanings — nesting a list item, picking from the slash menu.

Starting one

/table in the slash menu writes a two-column table with a header, the first heading selected and ready to be typed over; /table 3x4 writes three columns and four rows, the header among them (/table 3 is three columns). A table pasted from a web page, a spreadsheet or a document arrives as a pipe table already, and so do cells separated by tabs — a selection copied out of a spreadsheet, or a table a page handed over as plain text.

On the cards

A document’s card — on the All Documents wall, among the fanned pages, and in the pip’s preview — draws a table it holds as a small grid: up to four columns and five rows, the header on its fill, each cell one line, and a note under it counting what is left out.

In Review and on paper

Review, the page beside the editor and the PDF draw the same table with real rows and columns, in each style’s own way — ruled in Glass and GitHub, open in Book, tight in Mono. A row wider than the page wraps rather than being cut off; the table still reads, if less neatly, and everything in it can be reached.