SaaS Tiered Pricing Matrix Markdown Table Template
A tiered pricing table has one job: let a buyer find the cheapest plan that covers what they need, in under a minute, without opening a sales chat. Everyone who lands on it is mid-decision. A founder is checking whether the free tier is enough, a team lead is working out whether five seats will do, and a procurement analyst is copying the annual price into a budget sheet. Each of them reads one row and one column, so every cell has to stand on its own.
Edit This Template
Edit cells, add rows, or sort — the Markdown updates livePaste cells from Excel or Google Sheets into the first header to replace the table · Tab / Enter / arrows move · Shift+F10 opens row & column actions
When to Use This Table
In a Markdown context — an open-core project’s README, a proposal sent as a Git-hosted doc, or a static docs site — you lose the toggle switches and hover tooltips of a marketing page. That constraint is useful. It forces you to show monthly and annual prices side by side, state seat limits as numbers, and name the two or three features that actually justify the jump to the next tier, instead of hiding them behind a “Compare all features” link.
The difference between a good pricing table and a bad one is mostly honesty about units. A good one says whether $19 is per user or per workspace, whether the annual figure is billed up front, and what happens at seat 6 on a 5-seat plan. A bad one leaves buyers to discover those answers on the invoice, which is where refund requests and churn come from.
What Goes in Each Column
| Column | Alignment | What to put here |
|---|---|---|
| Plan Tier | left :--- | The plan name exactly as it appears in checkout and on invoices, in bold. Mark the recommended plan with one marker such as ★, and only one — two stars cancel each other out. Left-aligned so names scan cleanly. |
| Monthly Price | right ---: | The month-to-month price with its unit spelled out: $19 / mo for a flat workspace fee, $19 / user / mo for per-seat pricing. Right-aligned so the digits stack. Write Custom rather than leaving the Enterprise cell empty. |
| Annual (Save 20%) | right ---: | The total billed per year on the annual plan. Check the header’s claim against every row: $19 × 12 = $228, and 20% off that is $182.40, which the template rounds to $182. If you prefer marketing-friendly numbers like $180, change the header to “Annual (save ~20%)” so the claim stays true. |
| Team Seats | center :---: | The included seat count as a number or range (1, Up to 5, Unlimited). Centered because the values are short. If extra seats can be bought, say so in a footnote with the add-on price rather than implying a hard cap. |
| Primary Feature Access | left :--- | Two to four features that are new at this tier, not the whole feature list. Lead with the reason people upgrade (SSO, audit logs, priority support). Keep each cell to one line so rows stay the same height on GitHub. |
How to Fill It In
- 1Pull prices from the billing system itself (Stripe Prices, Paddle, Chargebee, or your own plan config), not from an old landing page. Copy the exact currency, interval, and whether the price is per seat.
- 2Calculate the annual column from the real annual price object and check it against the discount the header promises. Fix whichever one is wrong before publishing.
- 3For each tier, list what it adds over the tier below. If you cannot name a meaningful difference between two adjacent tiers, buyers will not see one either — merge them or rethink packaging.
- 4Confirm seat behaviour with whoever owns billing: hard limit, soft limit with overage, or purchasable add-ons. Put that answer in a note under the table.
- 5Add a dated footnote such as “Prices in USD, excluding tax, as of 2026-10-01” so readers of a stale README know when the numbers were true. The Markdown table generator is a quick way to rebuild the table when prices change.
Ready-to-Paste Variations
Per-seat pricing with overage
For products billed per user. The extra-seat column answers the question that per-seat buyers always ask next.
| Plan | Per user / mo (monthly) | Per user / mo (annual) | Min seats | Extra seats |
| :--- | ---: | ---: | :---: | :--- |
| **Free** | $0 | $0 | 1 | Not available |
| **★ Business** | $12 | $10 | 3 | Billed pro rata |
| **Enterprise** | Custom | Custom | 50 | Negotiated in contract |Feature-by-tier grid
Flips the layout so features are rows and plans are columns. Better when buyers compare specific capabilities rather than price.
| Feature | Starter | Pro | Team |
| :--- | :---: | :---: | :---: |
| Markdown export | ✓ | ✓ | ✓ |
| CSV import | — | ✓ | ✓ |
| Shared templates | — | — | ✓ |
| Audit log retention | — | 30 days | 1 year |Common Mistakes
Not saying whether a price is per user or per workspace.
Put the unit in every price cell (
$19 / user / mo). Ambiguity here is the most common reason for “I was charged five times what I expected” tickets.A “Save 20%” header that the numbers do not match.
Recompute every annual cell as monthly × 12 × (1 − discount) and either fix the prices or soften the header to an approximate figure.
Listing every feature in every tier.
Show only what each tier adds, and say “Everything in Pro, plus…” in the cell. Repeating the full list makes the tiers look identical.
Leaving prices undated in a README that lives for years.
Add currency, tax treatment, and an ISO date under the table, and link to the canonical pricing page as the source of truth.
Related Markdown Table Templates
Browse all 50 templatesCompetitor & Product SWOT Analysis Matrix
Strategic SWOT analysis matrix mapping internal strengths, operational weaknesses, market opportunities, and competitive threats.
Large Language Model (LLM) Capabilities
Compare foundation models by context window, input and output token pricing, multimodality, and benchmark scores, with the date each row was checked.
Product & Competitor Feature Matrix
Side-by-side feature comparison comparing your platform against primary market alternatives and legacy tools.
SaaS Tiered Pricing Matrix: Frequently Asked Questions
Should I show monthly or annual prices first?
Show both, with the monthly price first because that is the number people compare across vendors. If you lead with the annual price, label it as a per-month equivalent billed yearly so nobody mistakes it for the month-to-month rate.
How do I highlight the recommended plan in Markdown?
GitHub strips inline style attributes, so background colours are out. Use a single text marker such as ★, put the plan name in bold, and optionally add “Most popular” in the feature cell. See text formatting for what renders where.
Should Enterprise pricing say “Custom” or show a starting price?
A “from $X” figure filters out buyers who cannot afford it and saves your sales team calls. Use “Custom” only when pricing genuinely varies by deployment, and still list what Enterprise includes so the row is not empty.
Do I need to mention tax and currency?
Yes, in a short note. Business buyers outside your home country need to know whether VAT or sales tax is added and which currency they will be billed in, especially when the table appears in a contract or proposal.