CSV to Mermaid chart converter
Paste CSV and turn it into a Mermaid pie chart, bar or line chart, or Gantt chart. The tool guesses which columns to use; change them if it guessed wrong. Free and runs in your browser.
xychart-beta
x-axis ["Jan", "Feb", "Mar", "Apr"]
y-axis "Revenue"
bar [4200, 5100, 6100, 5800] How to do it
- Step 1
Paste your data
Paste CSV with a header row, or upload a .csv file.
- Step 2
Choose a chart
Pick pie, bar or line, or Gantt.
- Step 3
Map the columns
Check which columns are used for labels, values or dates.
- Step 4
Use it
Copy the Mermaid, or open it in the editor to export it.
Why chart in Mermaid
A chart written in Mermaid sits in a README or a wiki page as text, renders on GitHub and GitLab, and changes in a pull request like any other line. That suits project plans and small reports that change often and should not live in a slide nobody can find.
How the columns are guessed
Columns where every cell is a date suggest a Gantt chart; several numeric columns suggest a bar chart; otherwise it starts with a pie. The first text column becomes the labels.
What this does not do
- One chart per conversion; split the data if you need several.
- XY charts get crowded beyond about 40 points; group the data first.
- Gantt dependencies (after another task) are not read from the CSV; add them in the editor.
Frequently asked questions
Which charts can I make?
Pie charts take a label column and one value column. Bar and line charts (Mermaid's XY chart) take a label column and one or more numeric series. Gantt charts take a task column, a start date, an end date or a number of days, and an optional section column.
Can I paste straight from a spreadsheet?
Yes. Export or copy the range as CSV from Excel, Google Sheets or Numbers and paste it. Commas, semicolons, tabs and pipes are all recognised as separators, and quoted cells can contain separators and line breaks.
What date formats does the Gantt chart understand?
ISO dates (2026-10-27) work best. Day-first dates like 27/10/2026 and month-first dates like 10/27/2026 are recognised when the day is above 12; otherwise month-first is assumed. In the end column, a plain number is read as a duration in days.
What if a value is not a clean number?
Numbers can include thousands separators, currency symbols and percent signs. Rows without a usable number are skipped and listed in the notes below the result.
More Mermaid tools
All tools- SQL to ER diagram
Paste SQL CREATE TABLE statements and get a Mermaid entity relationship diagram with every table, column, primary key, foreign key and relationship.
- JSON to Mermaid
Paste JSON or YAML and get a Mermaid mind map or flowchart of its structure: every object, list and value as a node.
- package.json dependency graph
Paste a package.json and get a Mermaid diagram of its dependencies, grouped by type and labelled with version ranges.