The basic shape
A header row, a separator row of dashes, then one line per row. Pipes go between the cells. The pipes at either end are optional, but most people keep them.
| Product | Price |
| ------- | ----- |
| Shirt | $48 | Type into the grid, or paste a range straight from a spreadsheet. The Markdown writes itself as you go.
Under a minute, and nothing to sign up for.
The top row is the header. Copy a range from Excel or Google Sheets and paste it into any cell, and the grid grows to fit. Import takes a CSV file, a table copied off a web page, or a Markdown table you already have.
Tab and Shift+Tab move across, Enter moves down, and Enter on the last row adds a new one. The arrow keys work too. Undo and redo cover every change, including a paste.
Each column has its own alignment above it, and a menu to sort it, delete it or add a column beside it. Transpose turns the rows into columns when the table came out the wrong way round.
Pick Markdown, HTML, CSV, Excel, JSON, SQL, LaTeX or another format under Preview output, then copy it or download the file. For Markdown, Aligned pads the cells so the source reads well in a text editor, and Compact keeps each row short for cleaner diffs.
Everything the generator writes for you, in case you need to edit one by hand.
A header row, a separator row of dashes, then one line per row. Pipes go between the cells. The pipes at either end are optional, but most people keep them.
| Product | Price |
| ------- | ----- |
| Shirt | $48 | A colon in the separator row sets the alignment. On the left is left, on both sides is centre, on the right is right. No colon means left.
| Left | Centre | Right |
| :--- | :----: | ----: |
| a | b | c | Write it as \| so it is not read as the end of the cell. An unescaped pipe shifts every cell after it one column to the right. The generator escapes them for you.
| Command |
| ----------- |
| a \| b | A row has to stay on one line, so a break is written as <br>. GitHub and GitLab draw it as a new line. Some renderers show it as text.
| Address |
| ------------------- |
| 12 High St<br>Leeds | Inline formatting works inside a cell exactly as it does anywhere else: bold, italics, links and code spans.
| Item | Docs |
| ------------ | ----------------- |
| **Featured** | [Guide](/guide) |
| `SKU-104` | *Coming soon* | Merged cells, lists, headings and more than one paragraph per cell. If you need any of those, the table has to be written in HTML instead.
<table>
<tr><td colspan="2">Merged</td></tr>
</table> No signup. Nothing you type is uploaded.
Create an invoice in your browser. Download an exact A4 PDF or share it as a link.
Open the invoice generatorA code for a website, phone number, Wi-Fi or plain text, with your own colours and a frame.
Open the QR generatorTurn a Google Sheet into a mobile-ready store with 0% commission.
See how Store.link worksYes. There is no signup, no limit and no watermark, and the Markdown is yours to use anywhere, commercially or not.
Select the cells in the spreadsheet, copy them, click the top left cell of the grid here and paste. Spreadsheets copy as tab separated text, and the grid reads that and grows to fit. The first row you copied becomes the header.
Yes. Press Import and paste it in. The cells come back into the grid and the alignment of each column is kept, so you can change a value, add a row and copy it out again.
Yes. Under Preview output, pick from Markdown, HTML, CSV, TSV, Excel, JSON, SQL, LaTeX, XML, ASCII and MediaWiki. Every format can be copied or downloaded. Excel downloads a real .xlsx file with a bold header row, and Copy puts the cells on the clipboard so they paste straight into a spreadsheet.
Use the three alignment buttons above the column. In the Markdown, alignment is a colon in the separator row: :--- for left, :---: for centre and ---: for right. Numbers and prices usually read best on the right.
Type it normally. The generator writes it as \| in the Markdown, which is how a pipe has to be escaped so it is not read as the edge of a cell.
Only with
. A Markdown table row has to stay on a single line, so a line break inside a cell is written as
. GitHub and GitLab draw it as a break. If you import a CSV with line breaks inside its cells, the generator converts them for you.
No. Markdown tables have no merged cells, no lists inside cells and no more than one header row. A table that needs any of those has to be written in HTML. When you import an HTML table with merged cells, the text goes in the first column it covered and the rest are left empty, so nothing shifts.
Anywhere that supports GitHub Flavored Markdown: GitHub and GitLab, Obsidian, Reddit, Stack Overflow, and most documentation and static site generators. Slack and Discord do not draw tables and show the pipes as text.
Usually one of three things. The table needs a blank line above it, or the line before is read as part of the same paragraph. The separator row of dashes is missing or has fewer cells than the header. Or the place you pasted it into does not support tables at all.
They render exactly the same. Aligned pads the cells with spaces so the pipes line up and the table is readable as plain text. Compact leaves the padding out, which keeps the file smaller and means changing one cell changes one line in a diff rather than the whole column.
No. The table is built in your browser by code running in this page and nothing is sent to a server. It is kept in this browser, so reloading the page brings your table back.
Store.link turns a Google Sheet into an online store with a free web address. No coding, and no commission on your orders.
0% Commissions • No Coding