Free diagram maker
Data flow diagram tool
A data flow diagram shows where information comes from, what happens to it, and where it ends up. It deliberately says nothing about timing or order, which is what makes it different from a flowchart.
Free, no account, and nothing you draw is uploaded.
Published . By the DiagramDesk team.
There are four things on a DFD and no more: external entities, processes, data stores and the flows between them. That restraint is why it stays readable.
Drawing the flows
- Open the template, which has a customer, two processes, a data store and an accounts department.
- Number the processes 1.0, 2.0 and so on, which is the convention readers expect.
- Label every flow with the data that moves, not the action that moves it.
- Give each data store a D number and a name.
- Check that every process has at least one input and one output.
- Export a PDF for the documentation pack.
The four elements
- External entity (rectangle)
- A person or system outside your boundary. It is a source or a destination, never a process.
- Process (circle)
- Something that transforms data. Numbered, and named with a verb.
- Data store (two parallel lines)
- Data at rest. Numbered D1, D2, and named as a noun.
- Data flow (arrow)
- Labelled with what moves. “Order details”, not “sends order”.
- No black holes
- A process with input and no output, or output and no input, is a mistake every reviewer looks for.
The mistake worth avoiding: a flow that goes nowhere
In a data flow diagram, data only moves between processes, stores and external entities, and every flow passes through a process on its way. The commonest error is an arrow straight from one data store to another, or from an external entity into a store, as if data could move itself.
The other two are a process with inputs and no outputs, which swallows data, and one with outputs and no inputs, which invents it. Checking each process for at least one of each, and each store for a process at both ends, catches most mistakes before anyone else reads the diagram.
Why draw how data moves
- Working out what a system actually does with the data it holds
- Privacy and data protection work, where the flows are the whole question
- Coursework on structured analysis
- Scoping an integration before you agree to build it
Ready to draw yours?
The example above opens in the editor, so you can edit rather than start cold.
Data flow diagram questions
What is a level 0 or context diagram?
One process representing the whole system, with the external entities around it. Draw that first, then expand it into a level 1 with several processes.
Gane-Sarson or Yourdon?
The template draws processes as circles and data stores as a pair of parallel lines, open at both ends, which is the Yourdon and DeMarco notation; the D1, D2 on the stores are labels, there so the text can refer to them. For Gane and Sarson, swap the circles for rounded rectangles, which are in the palette. The palette has no Gane and Sarson store, so a diagram in that notation keeps the parallel-line stores.
Can flows go between two data stores?
No. Data only moves through a process, which is one of the rules that keeps a DFD honest.
Does it show the order things happen in?
No, and deliberately so. If order matters, draw a flowchart or a sequence diagram as well.