Typst table generator
Paste a spreadsheet or type in the grid and get Typst #table() code with a repeating header, per-column alignment, optional booktabs-style rules and a captioned #figure.
Paste a spreadsheet or type in the grid and get Typst #table() code with a repeating header, per-column alignment, optional booktabs-style rules and a captioned #figure.
Loading the table editor… It runs locally in your browser.
columns: 3 sets the column count. Cells are listed row by row.align: (left, right, center) aligns each column.table.header(…) marks the header row, which repeats on page breaks and is tagged for accessibility.#figure(…, caption: […]) <label> numbers the table and makes it referenceable with @label.Paste an existing LaTeX tabular into “Import data” and it is converted to the grid, so you can re-export it as Typst. The LaTeX table generator works the same way in reverse.
Call the table function with a column count and the cells in order: #table(columns: 3, [A], [B], [C], [1], [2], [3]). Wrap the header cells in table.header(...) so they repeat when the table breaks across pages, and wrap the whole thing in #figure(..., caption: [...]) to number it.
Set stroke: none on the table and add table.hline() above the header, a thinner table.hline(stroke: 0.5pt) under it and table.hline() at the end. Tick “Booktabs-style rules” and the generator writes exactly that.
Attach a label after the figure, e.g. #figure(table(...), caption: [Results]) <tab:results>, then write @tab:results in your text. Set a caption and a label in the generator and both are written for you.
Typst markup treats # * _ $ ` [ ] < > @ ~ " and \ specially, and a leading - + = or / can start a list or heading. The generator escapes them with a backslash so cell text prints as typed.