Process Diagram Import from CSV

Use Lucidchart’s CSV Import for Process Diagrams to create flowcharts, swim lanes, and process diagrams quickly from your data. This tutorial will walk you through the steps of formatting your data and importing it to generate a process diagram. Keep in mind that this is an experimental feature. Some functionality may not work as expected.

Before importing your data, please check to make sure it meets the requirements below.

This is an example of what your data should look like.


Basic Format

Each line in the file (after the line containing column headers) represents an element of a Lucidchart diagram--a page, a shape, or a line.


Each page is represented as a line in the file. Pages only need information in the `Id`, `Name`, and `Text Area 1` columns.


Each shape gets its own line as well - this includes containers such as swim lanes, which are considered shapes. The CSV file format does not include shape position information, but does include information about a shape’s name, text, and containment.


Every line is represented by a line in the file, which displays information about which blocks the line connects to, what its endpoints look like, and what (if any) text is on it.

Required Columns


Every item in the file needs an ID number. The ID is used to uniquely identify the item in other places in the file, such as those with containment and line information. The ID numbers should start at 1 and increment by 1 on each line.


Every item in the file also needs a name. Pages and lines simply need the names “Page” and “Line” respectively, but blocks will need a name to identify the type of block. You can find the appropriate name for a given block by hovering over that block in its shape library.

Shape Library

Each shape will also need to contain the full name of its shape library. To find these names, open the Shape Library Picker by pressing ‘m’ in the editor. Only certain shape libraries are supported.

Page ID

Each shape and line needs the ID of its page in the Page ID column. This is simply the number in the ID column for the page that it’s on.

Contained By

Though it is a required column, the ‘Contained By` column is only populated for shapes that reside inside one or more container shapes. If a shape is contained in a generic container, such as the Rectangle Container, its `Contained By` value will include the ID of that container. If the shape is inside a swim lane, its `Contained By` value will include the ID of the swim lane shape, followed by a colon and the index of the lane that the shape is in. These identifying keys are delimited with pipe characters (“|”).

Text Area 1

Pages, shapes, and lines could all potentially have data in this column. For pages, this column is used for the title of the page. For blocks and lines, this column is populated with the contents of the element’s text area (or first text area, as the case may be - see Text Area [n] below).

Optional Columns

These columns may be left out if none of the shapes that would populate them occur in your diagram.

Line Source

This column is populated for all lines and contains the ID of the shape at the first endpoint (“source”) of the line. If the line does not begin at a shape, this column should be left blank.

Line Destination

This column works the same way as the Line Source column, but for the second endpoint (“destination”) of the line. If the line does not end at a shape, this column should be left blank.

Source Arrow

Like Line Source/Line Destination, this column should only be populated for lines. Each line will have a value of “None,” “Arrow,” “Open Arrow,” or “Hollow Arrow” in this column, depending on the style of the arrowhead at the first endpoint (“source”) of the line.

Destination Arrow

This column works the same way as the Source Arrow column, but for the second endpoint (“destination”) of the line. The value in this column must be “None,” “Arrow,” “Open Arrow,” or “Hollow Arrow.”

Text Area [n]

If a shape or line contains multiple text areas, those belong here. The file should have as many Text Area [n] columns as the shape with the most text areas has text areas. Often, this shape will be a swim lane, since the lane headers of a swim lane shape are each a separate text area.

CSV import uses the same format as CSV export, so one way to get an example file is to create an example of the kind of diagram you want to create. Then, export the CSV of that diagram by going to the File menu, choosing “Download As,”


and selecting “CSV of Shape Data.”


Once your file is properly formatted, you are ready to import.

  1. Open a new Blank Diagram
  2. Navigate to File, Import Data, Process Diagram (CSV)


     3. Choose your CSV file(s) to upload (there is also an example CSV linked that you can reference)


    4. Watch as Lucidchart builds your diagram!


Related Articles
Import and Export Your Diagrams
Introduction to Flowcharting
AWS Architecture Import and Diagram Creation
Entity Relationship Diagrams