How to convert CSV to a flowchart without Visio
Rebuild a Data Visualizer process map straight from the CSV your system exports: which Visio column becomes which spreadsheet column, why the wizard never took a .csv, and how to renumber Next Step ID.
A worked example, stage by stage
Descriptions and shapes
Six rows in, with Box text and Shape Type mapped across and nothing else. "Customer sends a purchase order" is the Start, "Do the ordered lines match the quotation?" is already a diamond, and "Order cancelled before dispatch" is a Reject rather than an arrow into empty space. Data Visualizer's Start, Process, Decision and End land as they are written; Subprocess maps to Process.
Next Step ID renumbered into Line to
The connections arrive once the IDs have been rewritten as row positions. Row 8, "Is the order within the credit limit?", forks to 11 and 9, and row 14, "Ship the available lines now?", points back at row 12 to wait for the full order. A backward edge is only a smaller number in the cell, which is why loops survive a CSV export intact while they never survive a redraw.
Connector Label into Line text
The branch labels fill in and the pairing convention is the one you already used: row 3 carries "Matches,Price or quantity differs" against "6,4", and row 20, "Was the delivery accepted in full?", carries "Accepted in full,Damaged or short". Position is what binds a label to a destination, in the CSV exactly as in the add-in, so a reordered pair is wrong without being visibly wrong.
Function and Phase become the lanes
The last two columns land: Customer, Sales, Warehouse, Finance and Carrier from Function into Vertical lane, and Order capture, Credit check, Allocation, Pick and pack, Dispatch and transit and Invoice and close from Phase into Horizontal lane. Twenty-six rows, five roles, six phases, and no shape dragged anywhere. The credit refusal ending in Finance and the claim ending in Sales are now visibly two different failures owned by two different teams.
How it works
Export the table as CSV, not the diagram
The picture the add-in rendered is not the asset; the table underneath it is. Export that table to .csv, from the workbook that fed the add-in, or straight from the system the workbook was itself copied out of, which is usually the better source because it has not been reformatted by hand. Check three things while you are there: one header row, one row per step, and no merged cells anywhere in the range.
Read the first line of the file in a plain text editor
Before anything is pasted, open the .csv as text and look at the header line. You are checking which character separates the fields, whether values are wrapped in double quotes, and whether accented or non-Latin labels have survived the encoding. Exports from a European locale are frequently semicolon-delimited, because the comma is the decimal separator there, and that has consequences for the branch columns two steps from now.
Rename the headers to the editor's column names
Matching is by header name, not position, so the whole mapping is one edit to the first line: Process Step Description to Box text, Next Step ID to Line to, Connector Label to Line text, Shape Type to Shape, Function to Vertical lane, Phase to Horizontal lane. Leave the rest of the columns exactly where they are. Process Step ID, Alt Description and anything else the export emitted are carried in the file and ignored, which means you do not have to prune a wide export before it will load.
Renumber the connections to row positions
Line to addresses rows by their 1-based position, while Next Step ID addressed steps by an ID that was often 10, 20, 30 or a system key. Fix the row order first and treat it as final, then build a lookup from ID to position and rewrite every Next Step ID value through it, including each element inside a comma-separated pair. IDs that already run 1, 2, 3 in order need nothing. Everything else needs this, and skipping it produces a chart whose arrows are confidently wrong rather than obviously broken.
Quote the fields that contain commas
A Line to value of "6,4" and a Line text value of "Matches,Price or quantity differs" both contain the delimiter of a comma-delimited file. They must sit inside double quotes or the row silently gains extra columns and loses its branches. Excel writes those quotes when you use Save As CSV UTF-8; a file assembled by a report writer or a shell script often does not. If the export is semicolon-delimited instead, the commas inside those fields are ordinary data and need no quoting, which is exactly why you looked at the first line before touching anything.
Drop the file on the spreadsheet and fix what it exposes
Open a new chart, drop the .csv onto the spreadsheet area or paste the text in, and the diagram renders from the rows. Then read it for the two faults a table hides and a canvas cannot: a step with no successor, and a decision with one exit. Correct those in the rows, and if the map is going to be relied on by anyone else, put it through review so the approved revision is the one people open.
Frequently asked questions
Is the Visio Data Visualizer add-in actually gone?
It was announced for retirement on the Microsoft 365 Blog in November 2025, with a service shutdown date of 2 March 2026 that Microsoft reaffirmed in December 2025 as unchanged. Microsoft has published nothing since either confirming that the shutdown executed or reversing it, and both add-in support articles remain live and worded in the future tense. Treat the add-in as something not to build on rather than as a settled fact. The Data Visualizer templates inside the Visio desktop app are a separate feature, are not covered by that announcement, and are documented as Visio Plan 2 only.
Why would Visio never take my .csv directly?
The Create Diagram from Data wizard asks for an Excel workbook and then for a table or custom range inside it. A .csv is neither, and renaming the extension does not make it one, so the documented answer was always to save as .xlsx first. The exception people remember and then over-generalise is the Organization Chart Wizard, which does read comma- and tab-delimited .txt files, but it builds org charts, not process flows, and /guides/how-to-create-an-organizational-chart-from-csv covers that shape of data separately.
Does the comma-separated branch syntax carry over?
Almost verbatim. A Connector Label of "Yes,No" is a valid Line text value as it stands, and the labels are matched to destinations by position in both tools, so nothing about the convention has to be relearned. The only part that changes is what the destinations are: Next Step ID held step IDs and Line to holds 1-based row positions. Convert the numbers, keep the commas, keep the order.
What happens to my Function and Phase columns?
Function goes into the Vertical lane column and Phase into the Horizontal lane column, and each distinct value becomes a lane with steps placed automatically: the same behaviour the cross-functional Data Visualizer template gave you. Worth knowing: the basic Data Visualizer template read a table's function and phase columns not at all, so if your source has them populated but your old diagram was flat, you are about to get swimlanes you already had the data for.
Can I get a .vsdx file back out?
No. Exports are PNG, SVG and PDF, and there is no .vsdx writer, so if a downstream system consumes Visio files (a SharePoint pipeline, Power BI shape data, a document set that expects .vsdx), that requirement points back at Visio Plan 2 and this is not the tool for it. For maps that end up in documents, decks, wikis and audits, the image and PDF formats cover it, and the chart itself stays live and editable as rows.