1001Ferramentas
Generators

Markdown Comparison Table Generator

Visual interface to build comparison tables in Markdown with checkmarks, icons and color cells via emoji, ideal for READMEs.

Markdown

    
Tipos de célula: texto livre, ✅ check, ❌ cross, — dash, ⚠️ warning, 🟡 partial.

Comparison tables that actually help people decide

A comparison table earns its place when readers are choosing between options — SaaS pricing tiers, vendor proposals, library trade-offs, JTBD frameworks, hosting providers. The pattern is the same everywhere: the first column lists features (or evaluation criteria), every other column is a product, plan or competitor, and each cell answers "does this option satisfy this row?" with a tick, a cross, a number or a short string. Markdown is the lingua franca here because it lives inside README files, decision documents, PR descriptions, RFCs and Notion pages without losing the data. G2, Capterra and TrustRadius effectively publish gigantic versions of the same pattern.

Designing the matrix

  • Keep it to seven columns or fewer. Beyond that, readers stop comparing and start scanning — Miller's "magical number" still applies.
  • Order columns by relevance, not alphabetically. The favourite candidate (or the recommended plan) usually sits second, with the current choice anchored on the left.
  • Group rows by category — pricing, integrations, support, security — separated by an empty row or a bold header row. It mirrors how buyers evaluate.
  • Use a consistent vocabulary in each cell. Mixing "Yes", "✅", "true" and "incluso" in the same column kills the at-a-glance scan.
  • Right-align numbers with |---:| and left-align text with |:---| — every column independently.

Limits of raw Markdown

GFM tables do not support colspan or rowspan, conditional formatting, formulas or inline cell colours. For a true decision matrix with weighted scoring you eventually outgrow Markdown and need a spreadsheet, Notion table or an HTML block embedded inside the Markdown. Common workarounds: use emoji (✅ ❌ ⚠️ 🟡) for traffic-light status — render checks consistently across GitHub, GitLab and Notion — and prefix a row with a bold pseudo-header (| **Pricing** | | | |) when you need section grouping. For a clean before/after diff, drop the product columns and use just two: "Before" and "After", one row per field that changed.

Tooling and editing workflow

Hand-aligning pipes in a ten-row table is masochism. tablesgenerator.com and markdowntables.online ship WYSIWYG editors that emit clean GFM. The markdown-table npm package generates tables programmatically from JSON. csv2md converts spreadsheet exports straight to Markdown. The VS Code extension "Markdown All in One" reformats columns on save. On mobile, wrap the rendered table in <div style="overflow-x:auto"> so it scrolls horizontally instead of overflowing the viewport. Screen readers handle GFM tables well because they render to semantic <table>, <th> and <td>.

FAQ

Can I highlight a cell or row with colour? Not with raw Markdown — colour is intentionally absent from the spec. Fall back to inline HTML (<td style="background:#fef3c7">) when the renderer allows it, or use an emoji prefix as a visual cue.

How many columns is too many? Aim for five, stop at seven. Past that, transpose the table (features as columns, products as rows) or split it into themed sub-tables grouped by category.

Are emojis safe across renderers? Mostly yes — and render everywhere modern. Skin-tone variants and newer emoji can fall back to a tofu box on older fonts; preview before publishing.

Can I add a weighted score column? Yes — add a "Weight" and a "Score" column and compute the total outside the table. Markdown has no formulas, so you either do the maths by hand or generate the table from a spreadsheet via csv2md.

Related Tools