Chart Generator
Paste your data, pick a chart, and get editable vectors in Figma.
The problem
Charts in Figma have always been a bit awkward. You can draw bars by hand and nudge them until the numbers look roughly right. You can paste a screenshot from a spreadsheet that nobody can edit. Or you can hunt for a community file that almost fits. None of these hold up once the data changes, or the brand palette does.
I wanted something smaller and more honest. Give the plugin real data (or fake data while you're still sketching), pick a chart type, and get clean vectors back that behave like everything else on the canvas.
What it does
- 10+ chart types, including bar, line, area, pie, donut, scatter, radar, polar area, and a mixed line + column chart with dual Y axes.
- Bring your own data: paste CSV straight into the plugin or upload a .csv file.
- Randomize: one click fills the chart with dummy data, handy for wireframes and early layouts.
- Themes or your own colors: Pastel, Neon and Ocean presets, or a custom palette to match your brand.
- Inter typography for labels and axes, so charts sit comfortably next to most UI.
- Editable SVG vectors: every bar, line and label lands on the canvas as a real layer you can restyle.
How it works
- Open Chart Generator from the Figma plugins menu.
- Pick a chart type.
- Paste CSV, upload a .csv file, or hit Randomize.
- Choose a theme or set a custom palette.
- Generate. The chart is placed on your canvas as editable vectors.
Data tab: paste CSV, upload a file or randomize
Style tab: colors, grid, axes and data labelsBuilding it
The biggest decision was the output format. Images are easy to produce and impossible to tweak, so everything comes out as SVG vectors. That way you can change a stroke weight, recolor one series, or fix a label without generating the chart again.
The mixed line + column chart took the most thought. Two series on different scales need two Y axes, and getting the ticks, gridlines and labels to agree inside one frame is where most of the math lives.
CSV was the obvious input. Nearly every tool exports it, from spreadsheets to analytics dashboards, so there's no new format to learn. Randomize exists because dashboards usually get designed before the real numbers exist, and placeholder data that looks plausible keeps a layout honest.
I kept the UI compact so it doesn't take over the screen: chart type, data, colors, generate. Themes give you a quick starting point, and the custom palette is there for when a chart has to match an existing design system.
Inter is the default typeface. It's neutral, easy to read at small sizes, and familiar to most product teams, which matters once axis labels shrink to fit inside a card.
If you still draw charts by hand, give it a spin and let the plugin handle the geometry. Open in Figma Community