Last updated 14 October 2026
Tables are the single most common casualty of web clipping. The annoying part isn't that they break — it's that they often break invisibly, and you only find out weeks later when the numbers no longer line up with the header.
After pasting, count the columns on every row. If any row has fewer separators than the header, the table is wrong — even if it still renders as a table.
Open the raw Markdown (in Obsidian, that's the source view; in Notion, click into the
code block). Every row should have the same number of | characters.
That's the whole test.
A table that renders correctly can still be wrong. Markdown renderers pad short rows with empty cells, so a missing cell produces a table that looks fine and has silently shifted data. Counting separators is the only reliable check.
| What you see | What happened | Fixable by hand? |
|---|---|---|
| A single long line of words separated by gaps | The tool captured rendered text, not the table element. Tabs replaced cells. | Painful — you're rebuilding the table |
| Table looks right; columns don't match the header | Blank cells were dropped instead of kept as empty separators | Yes, but you have to find which rows |
| Header row missing — first data row became the header | The tool only looked inside <tbody>, or the site built the
header with <div>s rather than <th> |
Yes, add one line |
| Cells merged or content duplicated | The source used colspan / rowspan. Markdown tables have
no concept of merged cells. |
No — needs restructuring |
Take this source table — note the empty cell in the last row:
| Plan | Price | Seats | Support |
|---|---|---|---|
| Free | $0 | 1 | |
| Team | $12 | 5 | |
| Business | $29 | Priority |
Correct Markdown — four columns on every row, including the empty ones:
| Plan | Price | Seats | Support |
|----------|-------|-------|----------|
| Free | $0 | 1 | |
| Team | $12 | 5 | Email |
| Business | $29 | | Priority |
What a tool that drops blank cells produces instead:
| Plan | Price | Seats | Support |
|----------|-------|-------|----------|
| Free | $0 | 1 | |
| Team | $12 | 5 | Email |
| Business | $29 | Priority | |
Look at that last row. Priority has moved under
Seats, and Support is now empty. The table still renders. Nothing looks
broken. But the data is wrong, and comparing it against the original costs more time
than finding a tool that gets it right.
| per line. In most editors a
find-and-replace on | with a count column is enough; even eyeballing
aligned source works for small tables.
|---|---|) has the same number of columns as the header text.
colspan values into
repeated cells with the same content, or split the table in two. Markdown has no
merged cells, so this is unavoidable in any tool.
When choosing a clipper, judge it on one thing: does it parse the table element rather than the rendered text, and does it preserve empty cells? Everything else about a clipper is easier to live with than a table that lies to you.
We put a page together specifically to test this — the clipper test page. It contains the exact table above, plus a wide table, code blocks and nested lists, along with the expected Markdown so you can diff it. Use it on any clipper, ours included.
Clipperry is a Chrome extension that clips to Notion, Obsidian or plain Markdown. Table handling is the reason it exists: it reads the table element, emits a proper Markdown table, and keeps empty cells as empty separators so columns can't shift. It also preserves code block language tags, and strips navigation, cookie banners and footers before saving.
When it isn't worth it: if you rarely clip tables and the tool you already use handles your pages, there's no reason to change. Our free tier is 50 clips a month if you want to test it against the test page first.