> ## Documentation Index
> Fetch the complete documentation index at: https://docs.glassine.ink/llms.txt
> Use this file to discover all available pages before exploring further.

# Tables

> A pipe table reads as a table in the editor — columns lined up, hairlines where the pipes are — and Tab moves between its cells.

A table is written the way Markdown writes one, and the file keeps every pipe and dash:

```
| Book | Author | Pages |
| --- | --- | ---: |
| The Peregrine | J. A. Baker | 191 |
| Pilgrim at Tinker Creek | Annie Dillard | 290 |
```

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](/editor/formatting#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](/editor/markdown#pasting-from-elsewhere) 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](/review/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.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.