Skip to content
CertoflowCertoflow
Developer Tools

Markdown Table Generator — GitHub Tables

Markdown pipe tables.

Last updated: August 2026

Quick reference

What this calculator does
Generate GitHub-flavored Markdown pipe tables with configurable columns and rows — copy into README files instantly.
How it works
Set column and row counts; the tool builds a header, separator, and placeholder body cells labeled Col N and RrCc.
Example
3 columns and 3 rows produce a standard pipe table with --- separators ready to replace with real data.
When to use it
README documentation, wiki pages, GitHub issues, and anywhere hand-typing pipe alignment is tedious.

Guide

Introduction

Markdown tables look simple until you misalign pipes and GitHub renders a code block instead of a grid. README files, ADRs, and issue templates need comparison tables — feature matrices, environment variables, API parameters — but typing | --- | --- | repeatedly invites off-by-one column errors. Spreadsheet export exists, yet developers on minimal setups want a browser tool that outputs GitHub-flavored pipe syntax immediately.

Certoflow's Markdown Table Generator configures column count (one to ten) and row count (one to twenty), then emits a complete table: header row with Col 1, Col 2, …, separator row of ---, and body rows labeled R1C1, R2C2, etc. Output updates live as counts change. Copy and replace placeholders with real content. Pair with JSON to CSV when source data is structured, Line Number Generator when reviewing table rows in diffs, and Markdown Table Generator output pasted into repos using Gitignore Generator templates.

What this tool does

SettingRangeDefault
Columns1–103
Rows1–203
HeaderCol N placeholdersAuto-generated
BodyR{row}C{col} placeholdersAuto-generated
FormatGitHub pipe tableLeading/trailing pipes per row

No cell editing in UI — replace text after copy in your editor. Alignment padding is minimal; GitHub renders columns without requiring aligned whitespace.

How it works

const header = `| ${Array.from({ length: c }, (_, i) => `Col ${i + 1}`).join(" | ")} |`;
const sep = `| ${Array.from({ length: c }, () => "---").join(" | ")} |`;
const body = Array.from({ length: r }, (_, ri) =>
  `| ${Array.from({ length: c }, (_, ci) => `R${ri + 1}C${ci + 1}`).join(" | ")} |`,
);
return [header, sep, ...body].join("\n");

Counts clamp to min/max on each recalculation. useMemo regenerates table when columns or rows state changes — no separate generate button.

Real-world examples

README feature comparison

Document Certoflow dev tools versus alternatives — three columns (Feature, Certoflow, Other) and ten rows. Replace placeholders with checkmarks and notes.

Environment variable documentation

Table of variable name, required, description for onboarding docs. Cross-link parsing behavior with ENV File Parser.

API endpoint matrix

Methods, paths, auth requirements in five columns. Complement with HTTP Status Code Lookup for response code column.

Changelog release tables

Version, date, highlights per release — pair version cells with Semver Calculator validated ordering.

Issue template for bug reports

Pre-build four-column reproduction steps table contributors fill in GitHub issues.

Common mistakes

Forgetting separator row. This tool includes --- automatically — do not delete when editing.

Pipe characters inside cell content. Literal | in cells breaks Markdown — escape or use HTML tables for complex content.

Exceeding UI limits without splitting. Twenty rows max — split large datasets across multiple tables or use CSV to JSON pipelines.

Expecting column alignment in source. Pipe spacing need not align visually; rendering engines handle it.

Using for complex merged cells. Markdown lacks colspan — use HTML for advanced layouts.

Not replacing placeholder headers. Shipping Col 1 in production README looks unfinished.

Use cases

Open-source maintainers bootstrapping README sections.

Technical writers rapid table scaffolding.

Engineering managers comparison matrices in design docs.

Students learning GFM table syntax rules.

Support teams structured troubleshooting templates.

DevRel workshop handouts with fill-in tables.

FAQ

Can I edit cells in the tool?

No. Edit placeholder text after copying.

Maximum columns?

Maximum rows?

GFM compatible?

Yes — standard pipe table with --- separator row.

Live updates?

Yes, when column or row counts change.

Alignment syntax (:---)?

Not generated — add colons manually for left/center/right alignment.

Offline?

Yes, client-side only.

Convert CSV to table?

Use CSV to JSON then manual conversion, or edit generated skeleton.

Related formatting tools?

JSON Formatter, HTML Formatter for other doc types.

Are tables stored?

No.

GitHub Flavored Markdown table rules

GFM tables require a header row, a separator row of dashes, and at least one body row for meaningful rendering in most viewers. Certoflow emits all three automatically. Pipes inside cell content break parsing unless escaped — replace literal pipes with | HTML entity or rephrase content. Tables cannot span full page width responsively in all renderers; keep column counts reasonable for mobile README readers. Alignment colons (:---, ---:, :---:) are optional extensions — add manually to the separator row after copy if you need right-aligned numeric columns in GitHub.

For documentation that mixes tables and code, generate the table skeleton here, paste into your markdown file, then surround code blocks with triple backticks separately. Do not nest pipe tables inside code fences expecting render — they display as monospace text instead. When tables document environment variables, cross-reference parsing semantics with ENV File Parser so readers understand which keys are secrets versus public configuration documented in the same README.

Frequently Asked Questions

Is data uploaded?
No. All processing runs locally in your browser.
Does this work offline?
Yes, after the page loads.

Related tools that complement this workflow.