Tables
Edit cells, rows and columns, sort, paste from a spreadsheet, and work with wide tables.
Edit a table like a spreadsheet
Click a cell and type. Tables in Kirbon always have a header row, and they are saved as ordinary GitHub-flavoured Markdown tables — only the cell you edit is rewritten.
| Key | In a cell |
|---|---|
| ⇥ / ⇧⇥ | Next / previous cell. ⇥ in the last cell adds a row. |
| Return | The cell below; in the last row, a new row. |
| Arrow keys | The neighbouring cell, at the edge of a cell’s text. |
| ⇧↩ | A line break inside the cell (saved as <br>). |
| Esc | Cell → whole table → out of the table. |
To insert a table, type /table, click the toolbar’s Table button, or choose Insert ▸ Table. You get three columns and three rows with the caret in the first cell.
Rows and columns
While the caret is in a table, rails appear along its top and left edges, one segment per column and per row:
- Click a segment to select that column or row.
- Hover the line between two segments and click + to insert a column or row right there.
- Drag a segment to move its row or column.

A selected column has a toolbar under the table: alignment, Sort A→Z, Insert Column Right, and ⋯ for Insert Column Left, Clear Contents and Delete Column. Selecting a row opens its menu: Insert Row Above or Below, Duplicate Row, Copy as Spreadsheet Data, Clear Contents and Delete Row.
| Command | Shortcut |
|---|---|
| Insert Row Above / Below | ⌥⌘↑ / ⌥⌘↓ |
| Insert Column Right | ⌥⌘→ |
| Move Row Up / Down (row selected) | ⌃⌘↑ / ⌃⌘↓ |
| Move Column Left / Right (column selected) | ⌃⌘← / ⌃⌘→ |
All of them are also in Format ▸ Table and the table’s context menu, together with Duplicate Row, Clear Contents, Align Left / Center / Right, Delete Row, Delete Column, Delete Table, Select Row, Select Column, Sort A→Z and Copy as Spreadsheet Data. With nothing selected they act on the row or column of the caret. The header row can’t be deleted or moved, and a table’s only column can’t be deleted. Every change is one Undo step.
Sorting
Sort A→Z sorts the rows by the selected column: ignoring case, numbers by their value (9 before 10), empty cells last. The header row stays on top, and every row keeps its exact text.
Paste from a spreadsheet
Copy cells in Numbers, Excel or Google Sheets and paste them into a page:
- into an empty line — they become a new table, the first row as its header;
- into a table — they fill the cells from the caret rightwards and downwards, adding rows and columns as needed.
The other way round, Copy as Spreadsheet Data puts a row or column on the clipboard as tab-separated cells, ready to paste into a spreadsheet.
Wide tables
A table wider than the text doesn’t stretch the page. It keeps to the text width and scrolls sideways inside its border, with its first column frozen and a fade on the side where more columns are hiding. The header row stays visible while you scroll down a long table.

Above a wide table, a bar shows its size and two buttons:
- Page Width widens just this table to the whole page area. Kirbon remembers it for this table on this Mac. Text Width puts it back.
- Expand (⌥⌘↩) shows the table alone, across the whole window.

Expand a table
Expanded, the table fills the window — the sidebar and Page Info step aside. Its toolbar has:
- Filter rows — type to show only the rows that contain the text, with the count of rows shown;
- Fit to Window or Natural Width;
- Freeze First Column;
- zoom from 70 % to 150 % (⌘− / ⌘+);
- Open in New Window (also View ▸ Open Table in New Window), to move the table to another display or make it full screen. That window follows the page as it changes, and closing it doesn’t affect the page.

You can keep editing in the expanded table, with the same keys, rails and menus as on the page. Done, Esc or ⌥⌘↩ return you to the same place in the page.
What Markdown tables can’t do
Markdown has no merged cells, no tables inside tables and no column widths, so Kirbon doesn’t offer them. Tables that already use them — HTML tables, for example — are kept exactly as they are and shown as protected blocks you can edit in Markdown.