Create beautiful markdown tables visually. Learn table syntax, alignment, and best practices.
A markdown table is a way to display tabular data using plain text syntax.
Tables in markdown use pipes (|) and dashes (-) to create
rows and columns. Understanding markdown for tables is essential for creating
documentation, README files, and technical content.
Unlike HTML tables with complex tag structures, table markdown syntax is human-readable even before rendering. This makes it perfect for version control, collaborative editing, and quick documentation.
Creating a table in markdown requires three components: headers, a separator line, and data rows.
|)---) for each column, separated by pipes| Name | Age | City |
|---|---|---|
| Alice | 28 | New York |
| Bob | 34 | London |
| Charlie | 22 | Tokyo |
---).
Control text alignment in your markdown table using colons in the separator row:
| Alignment | Syntax | Example |
|---|---|---|
| Left (default) | :--- or --- |
Text aligned left |
| Center | :---: |
Text centered |
| Right | ---: |
Text aligned right |
| Product | Price | Quantity |
|---|---|---|
| Apples | $1.99 | 50 |
| Oranges | $2.49 | 30 |
| Bananas | $0.99 | 100 |
Right alignment is especially useful for numbers in tables markdown to keep decimal points aligned.
You can use most markdown formatting inside markdown table cells:
| Format | Syntax | Result |
|---|---|---|
| Bold | **text** |
text |
| Italic | *text* |
text |
| Code | `code` |
code |
| Link | [text](url) |
text |
| Image |  |
πΌοΈ (inline image) |
| Strikethrough | ~~text~~ |
| Feature | Status | Notes | |---------------|:-----------:|--------------------| | **API v2** | β Complete | `GET /api/v2/data` | | *Analytics* | π Progress | [Docs](#docs) | | ~~Legacy~~ | β Removed | Deprecated |
Here are some real-world examples of markdown tables for different use cases:
| Feature | Free Plan | Pro Plan | Enterprise | |------------------|:---------:|:---------:|:----------:| | Users | 5 | 50 | Unlimited | | Storage | 1 GB | 100 GB | Custom | | API Access | β | β | β | | Priority Support | β | β | β | | Price/month | $0 | $29 | Contact us |
| Endpoint | Method | Description | Auth Required | |-------------------|--------|----------------------|:-------------:| | `/api/users` | GET | List all users | β | | `/api/users/:id` | GET | Get user by ID | β | | `/api/users` | POST | Create new user | β | | `/api/users/:id` | DELETE | Delete user | β |
| Action | Windows | Mac | |---------------|:---------------:|:---------------:| | Copy | `Ctrl+C` | `β+C` | | Paste | `Ctrl+V` | `β+V` | | Undo | `Ctrl+Z` | `β+Z` | | Save | `Ctrl+S` | `β+S` |
| | |
\|
Writing tables in markdown manually can be tedious. Here's how to create them faster:
In our Markdown Viewer, you can type table syntax and see the result instantly in the preview panel. Use the keyboard shortcut for quick table creation:
Ctrl+K to open the command paletteStart with this template and modify as needed:
| Column 1 | Column 2 | Column 3 | |----------|----------|----------| | Data 1 | Data 2 | Data 3 | | Data 4 | Data 5 | Data 6 |
Avoid these common issues when creating table in markdown:
| Mistake | Problem | Solution |
|---|---|---|
| Missing separator row | Table won't render | Always include |---|---| |
| Uneven columns | Misaligned data | Same number of pipes in each row |
| Extra spaces | Usually fine, but inconsistent | Keep spacing consistent |
| Blank lines in table | Breaks the table | No empty lines between rows |
| Unescaped pipes in data | Creates extra columns | Use \| for literal pipes |
No, standard markdown tables don't support cell merging (colspan/rowspan). For complex tables, use HTML instead.
Check that you have: (1) a separator row with --- for each column, (2) consistent pipe
count in each row, (3) no blank lines within the table.
Standard markdown doesn't support table captions. Add a description paragraph before or after your table instead.
There's no technical limit, but very large tables become hard to read. Consider splitting large datasets or linking to external sources.
Technically no, but including them improves readability. | a | b | is clearer than
a | b.
Open our free editor with live preview and start building beautiful tables.
Open Markdown Viewer β