Data tables
NoteThink renders plain GitHub-flavoured Markdown tables: a header row, an alignment row, and as many body rows as you like. The renderer adds striped alternating rows for readability and falls back to a horizontal scrollbar when a table is too wide for the column. Everything on this page is ordinary Markdown - there is no spreadsheet engine, no sorting, and no CSV import behind it. This page collects a few realistic reference tables so you can see the rendering in context.
Feature comparison
The most common use for a table is a comparison matrix. The first column is left-aligned (the default) so the feature names line up against the left edge, while the tool columns are centre-aligned (:---:) so the ✓ and ✗ marks sit tidily under each heading. Cells can hold short values, inline code, or status marks.
| Feature | NoteGit | Notion | Obsidian | Plain GitHub |
|---|---|---|---|---|
| Stores notes in Git | ✓ | ✗ | ✓ | ✓ |
| Edits in the browser | ✓ | ✓ | ✗ | ✓ |
| Offline-first desktop | ✗ | ✗ | ✓ | ✗ |
| Kanban view of Markdown | ✓ | ✓ | ✓ | ✗ |
| Renders GFM tables | ✓ | ✓ | ✓ | ✓ |
| Self-hostable | ✓ | ✗ | ✓ | ✓ |
Owns your raw .md | ✓ | ✗ | ✓ | ✓ |
| Real-time co-editing | ✗ | ✓ | ✗ | ✗ |
| Inline diff / blame | ✓ | ✗ | ✗ | ✓ |
| Free for personal use | ✓ | ✓ | ✓ | ✓ |
A blank cell is perfectly valid GFM and simply renders empty, so you never have to invent a placeholder for a feature that does not apply.
Pricing tiers
Numbers read most naturally when they are right-aligned, so their digits line up by place value. Here the plan name stays left-aligned while every numeric column uses ---: to push the values to the right edge of the cell.
| Plan | Seats included | Private repos | Storage (GB) | Price / month (USD) |
|---|---|---|---|---|
| Free | 1 | 3 | 1 | 0 |
| Personal | 1 | 25 | 10 | 6 |
| Team | 10 | 250 | 100 | 49 |
| Business | 50 | 2,500 | 1,000 | 199 |
| Enterprise | 500 | 25,000 | 10,000 | 1,499 |
Notice that 2,500 and 25,000 keep their thousands separators and still align cleanly on the right - alignment is purely visual, so the renderer treats every cell as plain text.
Status-tag cheat-sheet
This compact reference deliberately mixes all three alignments in a single table to show them side by side: the tag column is left-aligned, the priority column is centre-aligned, and the typical age column is right-aligned. Use it as a quick legend for the status markers used elsewhere in these notes.
| Tag | Priority | Typical age (days) | Meaning |
|---|---|---|---|
#triage | high | 1 | Newly filed, not yet assessed |
#in-progress | mid | 4 | Actively being worked on right now |
#blocked | high | 12 | Waiting on an external dependency |
#review | mid | 2 | Awaiting a second pair of eyes |
~~#done~~ | low | 0 | Finished - struck through once archived |
The ~~#done~~ row shows strikethrough working inside a cell, which is handy for marking a tag as retired without deleting the row outright.
Wide tables and scrolling
When a table has more columns than the page can show, NoteThink does not squash the text - it keeps each column readable and lets the table scroll sideways. The table below is intentionally wide to demonstrate that behaviour, and the final column uses checkboxes to show task state.
| File format | Extension | Read | Write | Renders inline | Syntax highlight | Notes | Verified |
|---|---|---|---|---|---|---|---|
| Markdown | .md | ✓ | ✓ | ✓ | ✓ | The native NoteThink format | [x] |
| Plain text | .txt | ✓ | ✓ | ✓ | ✗ | Shown verbatim, no parsing | [x] |
| JSON | .json | ✓ | ✓ | ✗ | ✓ | Highlighted, opened in editor | [x] |
| CSV | .csv | ✓ | ✓ | ✗ | ✗ | Edited as text, not as a grid | [ ] |
| Image | .png | ✓ | ✗ | ✓ | ✗ | Previewed in the editor pane | [x] |
For the deeper view-switching reference, see the keyboard shortcuts page, which lists the ?nt_view= query strings that change how a note is displayed.
Demonstrates NoteThink's GitHub-flavoured table rendering - column alignment, striped rows, and horizontal scroll for wide data, all from plain Markdown tables.