Tables

Zolt supports powerful grid tables with cell merging, headers, and alignment.

Basic Syntax

Zolt offers two ways to create tables: the standard Markdown-like syntax and the explicit [[table]] block.

Standard Syntax

You can create a table simply by using pipes | and separators. This is the fastest way for simple tables.

zolt
| Column 1 | Column 2 | Column 3 |
| :------- | :------- | :------- |
| Data 1   | Data 2   | Data 3   |
| Data 4   | Data 5   | Data 6   |
Result
Column 1Column 2Column 3
Data 1Data 2Data 3
Data 4Data 5Data 6

Block Syntax

Wrapping your table in [[table]] and [[/table]] is useful when you need to add attributes (like id ) to the table element.

zolt
[[table id=my-table]]
| Column 1 | Column 2 | Column 3 |
| :------- | :------- | :------- |
| Data 1   | Data 2   | Data 3   |
| Data 4   | Data 5   | Data 6   |
[[/table]]
Result
Column 1Column 2Column 3
Data 1Data 2Data 3
Data 4Data 5Data 6

Header Cells

Mark header cells with [h] . Unlike standard Markdown which only supports headers in the first row, Zolt allows headers anywhere.

zolt
| Name      | Age     | City     |
| :-------- | :------ | :------- |
| [h] Alice | 30      | New York |
| [h] Bob   | 25      | London   |
Result
NameAgeCity
Alice30New York
Bob25London

Cell Alignment

Control alignment with colon position in the separator row:

SyntaxAlignment
---Default (= left)
:---Left
:---:Center
---:Right

Examples

zolt
| Left     | Center   | Right    |
| :------- | :------: | -------: |
| Data     | Data     | Data     |
Result
LeftCenterRight
DataDataData

Cell Merging

Horizontal Merge (colspan)

zolt
| Header                  | Header      | Header      |
| :---------------------- | :---------- | ----------- |
| [colspan=2] Merged Cell | Simple cell |             |
| Cell 1                  | Cell 2      | Cell 3      |
Result
HeaderHeaderHeader
Merged CellSimple cell
Cell 1Cell 2Cell 3

Vertical Merge (rowspan)

zolt
| Header              | Header |
| :------------------ | :----- |
| [rowspan=2] Merged  | Row 1  |
|                       Row 2  |
| Normal              | Row 3  |
Result
HeaderHeader
MergedRow 1
Row 2
NormalRow 3

Complex Example

zolt
[[table id=sales]]
| Category                | Q1     | Q2     | Q3     | Q4     |
| :---------------------- | :----: | :----: | :----: | :----: |
| [rowspan=2] Electronics | $50K   | $60K   | $70K   | $80K   |
|                           45%    | 50%    | 55%    | 60%    |
| Clothing                | $30K   | $35K   | $40K   | $45K   |
| [h] Total               | $80K   | $95K   | $110K  | $125K  |
[[/table]]
Result
CategoryQ1Q2Q3Q4
Electronics$50K$60K$70K$80K
45%50%55%60%
Clothing$30K$35K$40K$45K
Total$80K$95K$110K$125K

Best Practices

  1. Keep tables readable by aligning your pipes | in the source code.
  2. Use IDs when you need to target a specific table with links.
  3. Merge wisely : complex merges can be hard to maintain, use them for clear structural needs.
  4. Check alignment : use the separator row ( :---: ) to guide the reader's eye.

© 2026 Marmotz