Chart Builder from Data

Turn a pasted or uploaded CSV or TSV table into a bar, line or pie chart and save it as a PNG.

Files stay on your device No sign-up Free to use
How this works

The tool runs in this browser. Your file or text is not uploaded to UseFreeTools. Check this tool's limits for anything it may save on your device.

Privacy details

Create chart controls

Drop your CSV file here

or choose one from your device

One UTF-8 comma or tab separated file up to 5.0 MB. A chosen file is read instead of the box above.

    Paste CSV or TSV rows with the column names on the first line. Leave this empty when you choose a file below.

    A bar or line chart draws a zero axis and shows negative numbers. A pie chart needs values that add up to more than zero.

    The heading or the 1-based position of the column that names each bar, point or slice. Leave it empty for the first column.

    The heading or the 1-based position of the column that holds the numbers. Leave it empty for the second column.

    Printed above the chart and used as its accessible name. Leave it empty for a title built from the column names. A long title is shortened on the chart to fit; the full text stays as the accessible name and is reported in the result.

    Prints the number beside a bar, point or slice. Labels are skipped when the chart holds more than 20 items.

    For a pie chart the legend lists each slice. For a bar or line chart it names the number column.

    How to use Chart Builder from Data

    1. Paste the rows into the box, or choose a CSV or TSV file. The first row holds the column names.
    2. Pick a bar, line or pie chart and name the category column and the number column, by heading or by position.
    3. Add a title and choose whether each value and the legend are shown.
    4. Press Create chart, check the preview, then download the PNG.

    Example: Chart Builder from Data

    Draw a bar chart from three months of revenue.

    You add
    Rows: Month,Revenue / Jan,120 / Feb,150 / Mar,90. Chart type: Bar chart. Category column: 1. Number column: 2. Title: Quarterly revenue.
    You get
    The page reports a bar chart of Revenue by Month with three items, draws three bars with a zero axis, and downloads chart.png. The summary gives the range as 90 to 150.

    Options

    Category and number columns
    Either column can be named by its heading or by its 1-based position. Leave a box empty to use the default: the first column for categories and the second for numbers.
    Chart size
    Width and height are between 320 and 2000 pixels. A wide, short canvas suits a long series; a square canvas suits a pie chart.
    Colours
    Four palettes are offered. A bar chart gives each bar its own colour from the palette, a line chart uses the first colour for the line and its points, and a pie chart colours each slice in turn.
    Show each value
    The number is printed beside a bar or point and as a percentage inside a pie slice. Labels are skipped once a chart holds more than twenty items, because they would overlap.

    Supported inputs and limits

    Paste text up to 5 MiB, or choose one UTF-8 file of the same size. A table may hold up to 100 columns and 200 rows of data, with the column names on the first row. The delimiter is detected from the first rows, so comma, tab, semicolon and pipe all work. Every value in the number column must be a number, and a cell that is not one stops the run and names its row. A thousands separator has to split full groups of three digits, so 1,234.56 counts as one number while 1,2 is refused as unclear, and a magnitude past 9,007,199,254,740,991 is refused because it cannot be charted exactly. A column of nothing but zeroes is refused as well, because it has no range to draw. A pie chart refuses a negative value and a column that adds up to zero, while bar and line charts draw a zero axis and show negative values below it. The download is a PNG drawn on a white background, and the labels inside the chart are shortened when they are long.

    Where your input is processed

    This tool processes your input in this browser. Your text and files are not uploaded to UseFreeTools. Check this tool's limits for anything it may save on your device.

    One layout, two renderers

    The table is turned into positioned bars, points and slices once. That layout is drawn as an SVG preview and then onto a canvas for the PNG, so the download matches what was on screen instead of a second drawing that could drift. Labels are inserted as escaped text, and every coordinate comes from a number the page checked.

    Questions about Chart Builder from Data

    Can I chart more than 200 rows?

    No. Past 200 bars or points a chart stops being readable, so the run is refused and the row limit is named. Group the rows in a spreadsheet or narrow the table before pasting it here.

    Why was one row refused as not a number?

    The number column accepts digits with an optional leading minus sign, an optional decimal point and thousands separators. The message gives the file row number, so you can correct that cell and run it again.

    Does a pie chart show negative values?

    No. A pie chart is parts of a whole, so a negative value or a column that adds up to zero is refused. Use a bar or line chart when the numbers cross zero.

    Where does my table go?

    Nowhere. The rows are parsed and the image is drawn inside your browser, and the PNG comes from a canvas on your device.

    Is the preview the same as the download?

    Yes. The preview and the PNG are drawn from one shared layout, so the bars, points and slices sit in the same places. The preview is scaled to fit the page, and the download keeps the size you asked for.

    Project manager: Tony Hines · Content updated 1 October 2026 · Report a problem