Generate a Chart from CSV
Paste CSV data, choose the columns to plot, and get a bar, line, scatter, or histogram chart as a clean, scalable SVG. Pick the color, title, and size. Pure-Rust rendering runs in your browser — nothing is uploaded.
Turn CSV columns into a clean SVG chart
Paste a small CSV table, choose the columns to plot, and generate a standalone SVG chart you can copy, save, or drop into documentation. The tool supports bar charts, line charts, scatter plots, and histograms. Header names are matched case-insensitively; if your CSV has no header row, use 1-based column indexes such as 1 and 2.
Worked example
Input:
month,revenue
Jan,1200
Feb,1800
Mar,1500
Apr,2400
May,2100
Use Chart type = bar, X column = month, Y column = revenue, and Chart title = Monthly revenue. The output SVG draws labeled axes, one bar per month, and a title. Switch to line for a trend line, scatter for numeric X/Y pairs, or histogram to bin one numeric column.
FAQ
What chart types can I create?
You can render bar charts for categorical X values, line charts for ordered or numeric X values, scatter plots for numeric X/Y pairs, and histograms that bin one numeric column. Each output is a plain SVG string with no external dependencies.
How do I choose columns?
If the first row is a header, enter the header name exactly or case-insensitively, such as month or revenue. If the CSV has no header row, use 1-based indexes: 1 for the first column, 2 for the second, and so on.
Why do some values get skipped?
Rows with missing or non-numeric values in numeric columns are skipped because SVG coordinates require numbers. The chart still renders as long as at least one valid point or bin remains; otherwise the tool returns a clear error.
Is my CSV uploaded anywhere?
No. CSV parsing and SVG generation run locally in WebAssembly. The chart is generated in your browser, and your data is not sent to a server.
Developer & Automation Access
Run it from the terminal
Same engine as this page, headless — via the gizza CLI:
gizza tool csv-chart-generator "month,revenue
Jan,1200
Feb,1800
Mar,1500
Apr,2400
May,2100" 'y_column=revenue'New to the CLI? Get gizza →
Open it by URL
Pre-fill and auto-run this tool with query parameters — the names match the API/CLI:
https://gizza.ai/tools/csv-chart-generator/?data=month%2Crevenue%0AJan%2C1200%0AFeb%2C1800%0AMar%2C1500%0AApr%2C2400%0AMay%2C2100&chart_type=bar&x_column=month&y_column=revenue&title=Monthly%20revenue&width=800&height=400&color=%232563eb&bins=10Machine-readable descriptor: tool.json — title + parameters JSON Schema for agents.
