What are DFD levels?
A single diagram that showed every detail of a system would be impossible to read, so data flow diagrams are drawn in levels. Each level zooms into the level above it:
- Context diagram (Level 0): the whole system as one process.
- Level 1 DFD: that one process split into its main sub-processes.
- Level 2 DFD: one Level 1 process split into detailed steps.
This top-down breakdown is called functional decomposition or levelling. Most college projects need a context diagram and a Level 1 DFD, and larger systems also need Level 2 for their most complex processes.
Context diagram (Level 0)
The context diagram shows the system boundary: what is inside the system and who it talks to.
- Exactly one process, numbered 0, named after the whole system.
- All external entities that send data to or get data from the system.
- The main data flows between them.
- Usually no data stores, because those are internal details.
Open this context diagram in DFD Maker →
Level 1 DFD
The Level 1 DFD opens process 0 and shows the main functions inside it.
- Usually 3 to 7 processes, numbered 1.0, 2.0, 3.0…
- Data stores appear here (D1, D2…), showing where each process reads and writes data.
- The same external entities and outside data flows as the context diagram. This is called balancing (see below).
- Processes can pass data directly to each other.
Open a Level 1 example in DFD Maker →
Level 2 DFD
A Level 2 DFD takes one process from Level 1 and shows how it works in detail. If process 1.0 is “Place Order”, its Level 2 might contain:
- 1.1 Browse Menu
- 1.2 Add Items to Cart
- 1.3 Validate Order
- 1.4 Save Order
Only draw Level 2 for processes that are complex enough to need it. In DFD Maker you can frame a Level 2 diagram with a System boundary shape labelled with the parent process, like “1.0 Place Order”.
How to number processes
| Level | Process numbers | Example |
|---|---|---|
| Context (Level 0) | 0 | 0 Online Food Ordering System |
| Level 1 | 1.0, 2.0, 3.0… | 2.0 Process Payment |
| Level 2 (of 2.0) | 2.1, 2.2, 2.3… | 2.2 Verify Card |
| Level 3 (of 2.2) | 2.2.1, 2.2.2… | 2.2.1 Send OTP |
The number tells you exactly where a process sits in the hierarchy. DFD Maker numbers new processes and data stores automatically, and you can edit any number in the side panel.
Balancing DFD levels
A lower-level DFD must be balanced with its parent. The data coming in and going out at the child level must match the data flows connected to the parent process.
- If the context diagram shows “Order details” coming from Customer, the Level 1 DFD must also show “Order details” coming from Customer.
- Don't add new external entities at a lower level, and don't drop existing ones.
- New data stores and internal flows are allowed at lower levels.
When to stop breaking processes down
Stop when a process does one clear job that you could describe in a few sentences, or when splitting it further would only show single steps like “read record” or “add numbers”. For most projects that's Level 1 or Level 2.
Logical vs physical DFD
- Logical DFD: shows what the system does, the business activities and data, without saying how.
- Physical DFD: shows how it's done: the actual software, files, people and devices (for example, “MySQL orders table” or “Razorpay API”).
You draw both with the same symbols. Only the names change.
Draw your DFD now
Free, no sign-up. Proper DFD symbols and a built-in rule checker.