When to use a funnel chart
Funnel charts show where people drop out of a sequence of steps.
- Signup and onboarding: visit, sign up, activate, pay
- E-commerce checkout: product view, cart, checkout, purchase
- Sales pipeline: lead, qualified, proposal, closed won
Data format
- Use 2 columns: Stage,Value, in order from the first step to the last.
- Each stage's conversion is its value divided by the previous stage's. The footer shows overall conversion from first to last.
- Blank rows are skipped. A stage larger than the one before it shows growth (+%) instead of drop-off.
- Paste CSV, JSON from your API, TSV copied from Excel or Google Sheets, or a Markdown table. The generated component keeps your column names as its data keys.
Stage,Users
Visited site,12400
Viewed pricing,6800
Started trial,3100
Activated,1900
Paid,860[
{"stage": "Visited site", "users": 12400},
{"stage": "Viewed pricing", "users": 6800},
{"stage": "Started trial", "users": 3100},
…
]Options
- Shape
- A connected trapezoid funnel, or centered rounded bars on a muted track.
- Conversion
- Show each stage as a % of the previous stage (Step) or of the first stage (Overall).
- Drop-off
- Show the % lost since the previous stage beside each conversion rate.
- Colors
- One color faded from top to bottom (Gradient), or a palette color per stage.
How to add it to your project
- 1. Add the shadcn/ui chart component (it installs Recharts):
npx shadcn@latest add chart - 2. Paste your data above, pick the options, and copy the generated
chart.tsx. - 3. Save it in your project (e.g.
components/funnel-chart.tsx) and render<Chart />, or<Chart data={rows} />in Data as prop mode.
Funnel Chart FAQ
Paste your stages and counts into ChartCN and copy the generated component. It's plain React and Tailwind on shadcn/ui's theme variables, so it matches your app in light and dark mode with no new dependency.
Yes. Every stage shows its conversion from the previous stage (or from the first, if you switch), with its drop-off beside it, and the footer shows overall conversion. Hover or focus a stage for exact counts.
Recharts fits labels inside the trapezoids, where the narrow bottom stages run out of room. ChartCN lays each stage out as a row instead, so names and numbers stay readable at any width, including on phones.
Stages are an ordered list. Each one can be reached with the keyboard and is labeled with its name, count, and conversion rate, and the entry animation respects reduced-motion settings.