CSV flowchart generator: drop a file in, get a flowchart out
A browser-based CSV flowchart generator. Drop a .csv onto the spreadsheet and the rows draw as shapes. Generation is mechanical rather than generative: the same file always draws the same chart.
The CSV that produces this diagram
One row per step. The numbers in Line to are row numbers — that is what draws the connectors, and it is the column most files are missing.
| # | Shape | Box text | Line to | Line text | Horizontal lane | Vertical lane |
|---|---|---|---|---|---|---|
| 1 | Start | Customer requests a refund | 2 | Request | Customer | |
| 2 | Input | Record the order number, date and reason | 3 | Request | Agent | |
| 3 | Decision | Order found in the system? | 5, 4 | Yes, No | Request | Agent |
| 4 | Decision | Proof of purchase supplied? | 5, 22 | Supplied, No reply after two reminders | Request | Customer |
| 5 | Decision | How old is the order? | 7, 6, 21 | Within 30 days, 31 to 90 days, Over 90 days | Eligibility | Agent |
| 6 | Decision | Supervisor approves the late request? | 7, 21 | Approved, Declined | Eligibility | Supervisor |
| 7 | Decision | Is the item physical or digital? | 8, 11 | Physical, Digital | Eligibility | Agent |
| 8 | Process | Book the return and inspect the item | 9 | Condition | Agent | |
| 9 | Decision | What condition is the item in? | 12, 13, 10 | Unopened, Opened but resaleable, Faulty | Condition | Agent |
| 10 | Decision | Is the fault covered by the warranty? | 14, 21 | Covered, Customer damage | Condition | Supervisor |
| 11 | Decision | Has the digital item been downloaded? | 12, 13, 15 | Not accessed, Partly used, Fully consumed | Condition | Agent |
| 12 | Process | Calculate the full refund amount | 16 | Adjudication | Agent | |
| 13 | Process | Calculate the partial refund amount | 16 | Adjudication | Agent | |
| 14 | Decision | Replacement or refund? | 19, 12 | Replacement, Refund | Adjudication | Customer |
| 15 | Decision | Goodwill credit within the agent's limit? | 18, 17 | Within the limit, Above the limit | Adjudication | Agent |
| 16 | Decision | Is the amount above the agent's approval limit? | 20, 17 | At or below the limit, Above the limit | Approval | Agent |
| 17 | Decision | Supervisor approves the payment? | 20, 18, 21 | Approved in full, Approved as store credit, Declined | Approval | Supervisor |
| 18 | Process | Issue store credit to the account | 24 | Settlement | Finance | |
| 19 | Process | Ship the replacement and close the return | 25 | Settlement | Agent | |
| 20 | Compensation | Pay the refund to the original payment method | 23 | Settlement | Finance | |
| 21 | Reject | Refund declined, reason recorded | Settlement | Agent | ||
| 22 | End | Request closed with no reply | Settlement | Agent | ||
| 23 | Success | Refund paid to the original method | Settlement | Finance | ||
| 24 | Success | Store credit issued | Settlement | Finance | ||
| 25 | Success | Replacement shipped | Settlement | Agent |
#,Shape,Box text,Line to,Line text,Horizontal lane,Vertical lane
1,Start,Customer requests a refund,2,,Request,Customer
2,Input,"Record the order number, date and reason",3,,Request,Agent
3,Decision,Order found in the system?,"5, 4","Yes, No",Request,Agent
4,Decision,Proof of purchase supplied?,"5, 22","Supplied, No reply after two reminders",Request,Customer
5,Decision,How old is the order?,"7, 6, 21","Within 30 days, 31 to 90 days, Over 90 days",Eligibility,Agent
6,Decision,Supervisor approves the late request?,"7, 21","Approved, Declined",Eligibility,Supervisor
7,Decision,Is the item physical or digital?,"8, 11","Physical, Digital",Eligibility,Agent
8,Process,Book the return and inspect the item,9,,Condition,Agent
9,Decision,What condition is the item in?,"12, 13, 10","Unopened, Opened but resaleable, Faulty",Condition,Agent
10,Decision,Is the fault covered by the warranty?,"14, 21","Covered, Customer damage",Condition,Supervisor
11,Decision,Has the digital item been downloaded?,"12, 13, 15","Not accessed, Partly used, Fully consumed",Condition,Agent
12,Process,Calculate the full refund amount,16,,Adjudication,Agent
13,Process,Calculate the partial refund amount,16,,Adjudication,Agent
14,Decision,Replacement or refund?,"19, 12","Replacement, Refund",Adjudication,Customer
15,Decision,Goodwill credit within the agent's limit?,"18, 17","Within the limit, Above the limit",Adjudication,Agent
16,Decision,Is the amount above the agent's approval limit?,"20, 17","At or below the limit, Above the limit",Approval,Agent
17,Decision,Supervisor approves the payment?,"20, 18, 21","Approved in full, Approved as store credit, Declined",Approval,Supervisor
18,Process,Issue store credit to the account,24,,Settlement,Finance
19,Process,Ship the replacement and close the return,25,,Settlement,Agent
20,Compensation,Pay the refund to the original payment method,23,,Settlement,Finance
21,Reject,"Refund declined, reason recorded",,,Settlement,Agent
22,End,Request closed with no reply,,,Settlement,Agent
23,Success,Refund paid to the original method,,,Settlement,Finance
24,Success,Store credit issued,,,Settlement,Finance
25,Success,Replacement shipped,,,Settlement,AgentThe diagram those rows produce
Rendered from the rows above, unchanged. Edit a cell and the diagram follows; move a box and the rows follow.
The columns QueryChart reads
Header names are matched, not column positions — extra columns are carried along and ignored by the diagram.
| Column | Required? | What it does | Example |
|---|---|---|---|
# | Optional | The row number the editor prints, and the number every connection points at; you do not have to supply it, because a row's position in the file is its number. | 5 |
Shape | Required | Decides what the box is drawn as: Start, Process, Decision, End, Success, Reject and a few more. | Decision |
Box text | Required | The words printed inside the box, so this column is the one a reader actually reads. | How old is the order? |
Line to | Required | The row number or numbers this row connects to, comma-separated; leave it empty only on the rows that end the process. | 7, 6, 21 |
Line text | Optional | The labels drawn on those connections, in the same order as Line to, which is how a decision gets its branches. | Within 30 days, 31 to 90 days, Over 90 days |
Horizontal lane | Optional | Groups the box into a column of the chart, normally a stage or phase; leave the whole column out and the chart draws without lanes. | Eligibility |
Vertical lane | Optional | Groups the box into a row of the chart, normally the team or role that owns the step. | Supervisor |
How it works
Get your steps into a .csv
One row per step. Name the header cells the way QueryChart's spreadsheet prints them (Shape, Box text, Line to, Line text) because import matches header names, not column positions. Any tool that exports CSV will do; /guides/how-to-structure-csv-for-flowcharts shows the layout in full.
Drop the file on the spreadsheet
Open a chart and drag the .csv onto its spreadsheet area, or copy the CSV text and paste it in. Those are the two routes, both covered in /guides/how-to-import-csv-into-a-flowchart-tool. There is no wizard to click through and nothing to configure first.
Read the flowchart it drew
The chart is on screen as soon as the file lands. Each row is one shape, Line to is the arrows, Line text is the labels on them. Nothing was inferred, so anything that looks wrong on the canvas is wrong in the file: go and find that row.
Fix it on whichever side is easier
The spreadsheet and the canvas are the same chart. Retype a cell or drag a box; both edits land in the same place. Re-dropping a corrected file draws it the same way it drew the first one.
Take the chart somewhere
Export it, share the URL, or send it through the approval workflow so a reviewer signs the version your file produced. If you would rather start from a file that already works, /templates/csv has wired examples.
What usually goes wrong
- Line to holds a step name — Line to takes row numbers: 9, or 7, 6, 21 for a branch. A step's title in that cell connects to nothing, and the row draws with no arrow leaving it and no error to tell you why.
- Line text ordered differently from Line to — The two columns are read in parallel. Line to of 7, 6, 21 paired with Line text of Over 90 days, Within 30 days, 31 to 90 days draws every arrow with the wrong label: a chart that is confidently wrong. /guides/how-to-define-flowchart-connections-in-csv walks through the pairing.
- Commas left unquoted — The two columns that carry branches are the two that contain commas. Wrap them in double quotes ("7, 6, 21" and "Within 30 days, 31 to 90 days, Over 90 days") or the values spill into the columns beside them and the row loses its shape.
- A shape name the parser does not know — Anything outside the recognised list normalises to Process without warning. A mistyped Decision comes back as a rectangle that still carries its branch labels, so the chart reads as a straight line where a real choice happens.
- Renamed headers — Import matches header names, so renaming Box text to Step turns that column into one QueryChart does not recognise: it is carried along, ignored, and every box draws empty. Extra columns you add are safe for the same reason: they are carried and ignored too.
Frequently asked questions
What does a CSV flowchart generator actually do?
It reads a table and draws it. Each row becomes one box, Shape decides which box, Box text is what the box says, and Line to draws arrows to the row numbers you list. There is no interpretation step in between: rows in, shapes out.
How long does it take to see a diagram?
One action. Drag the .csv onto the spreadsheet area of a chart, or paste the CSV text into it, and the chart is on screen. The refund decision tree on this page is 25 rows and six stages, and it draws in that one drop.
Does it use AI to work out my process?
No. Nothing is guessed and no steps are written for you. The same file produces the same flowchart on every run, which is what makes the result checkable: a colleague can read the diagram against the file row by row and see where each arrow came from.
Is this the same idea as Visio's Data Visualizer?
The idea is the same, a table of steps driving a diagram; the delivery is not. Microsoft announced in November 2025 that the Data Visualizer add-in for Excel is being retired, while the Data Visualizer templates in the Visio desktop app remain available to Visio Plan 2 subscribers. QueryChart draws from a plain .csv in a browser tab, with no add-in and no Visio subscription.
Do I need to install anything?
No. It runs in the browser on macOS, Windows, ChromeOS and Linux. There is no desktop application, no Excel add-in and no Microsoft 365 dependency, so a machine that can open this page can draw the chart.
Which columns are required?
Three: Shape, Box text and Line to. Those draw the diagram on their own. Line text, Horizontal lane and Vertical lane refine it: labels on the branches, and boxes grouped by stage and by owner. /templates/csv-to-flowchart is a file with only the three.
What happens to columns QueryChart does not recognise?
They are carried and ignored. An export that keeps a ticket ID, a system name or a due date beside the process columns imports without complaint, so you do not have to cut your file down before dropping it in.
My CSV has no lanes. Is that a problem?
No. Leave Horizontal lane and Vertical lane out and the chart draws as a plain flowchart. You can add them later by typing into those columns in the spreadsheet; /templates/csv-swimlane-flowchart shows what a file looks like once it carries both.