ISO 5807 Flowchart Symbols: Complete Guide with Examples (2025)
Master all 19 ISO 5807 flowchart symbols with practical examples, use cases, and best practices. The definitive guide to standardized flowcharting.
ISO 5807 Flowchart Symbols: Complete Guide with Examples (2025)
Flowcharts are universal visual tools for representing processes, algorithms, and workflows. But without standardization, they can become confusing and inconsistent. That's where ISO 5807 comes in—the international standard that defines flowchart symbols and their meanings.
In this comprehensive guide, we'll explore all 19 ISO 5807 flowchart symbols, when to use them, and best practices for creating professional, standardized flowcharts that anyone can understand.
What is ISO 5807?
ISO 5807 is the international standard for "Information processing — Documentation symbols and conventions for data, program and system flowcharts, program network charts and system resources charts." Published by the International Organization for Standardization (ISO), it establishes a universal visual language for documenting processes and algorithms.
Why ISO 5807 Matters
Standardized flowchart symbols provide several critical benefits:
- Universal Understanding: Anyone familiar with the standard can read your flowcharts, regardless of industry or language
- Reduced Ambiguity: Each symbol has a specific, well-defined meaning
- Professional Quality: ISO-compliant diagrams are recognized in technical documentation worldwide
- Easier Collaboration: Teams working across departments or organizations can communicate more effectively
- Regulatory Compliance: Many industries require ISO-compliant documentation
History and Evolution of Flowchart Standards
Flowcharting as a discipline emerged in the 1920s when industrial engineer Frank Gilbreth introduced "flow process charts" to document industrial processes. In the 1940s and 1950s, as computer programming developed, flowcharts became essential for algorithm design.
The first attempt at standardization came in 1963 when the American National Standards Institute (ANSI) published standard X3.5. This was followed by international adoption through ISO, leading to ISO 5807 in 1985. The standard was updated in 1987 to include additional symbols for modern computing needs.
Today, while alternatives like BPMN (Business Process Model and Notation) and UML (Unified Modeling Language) exist for specific purposes, ISO 5807 remains the most widely recognized standard for general-purpose flowcharting.
The Complete ISO 5807 Symbol Set
Let's explore all 19 flowchart symbols defined in the ISO 5807 standard, with practical examples and usage guidelines.
1. Start/End (Terminator)
Shape: Oval or rounded rectangle Purpose: Marks the beginning or end of a process When to Use: Every flowchart should have exactly one start symbol and at least one end symbol
Example:
[Start] → Process steps → [End]
Common Mistakes:
- Using multiple start points (creates ambiguity)
- Forgetting the end symbol in complex flowcharts
- Using rectangles instead of ovals
Best Practice: Always label clearly as "Start" and "End" or describe what begins/ends (e.g., "User Login Process Begins")
2. Process
Shape: Rectangle Purpose: Represents any processing operation, instruction, or action When to Use: For calculations, data manipulation, assignments, or any action that transforms data
Example Use Cases:
- "Calculate total price"
- "Hash user password"
- "Format date string"
- "Update inventory count"
Common Mistakes:
- Making process descriptions too vague ("Do stuff")
- Using for input/output operations (use the I/O symbol instead)
- Cramming multiple unrelated operations into one box
Best Practice: Use clear, action-oriented verbs. Each process box should represent one logical operation or a tightly coupled set of operations.
3. Decision (Conditional)
Shape: Diamond Purpose: Represents a conditional or branching point with two or more possible paths When to Use: When the process flow depends on a condition being true or false
Example Use Cases:
- "Is password correct?"
- "Age >= 18?"
- "Payment successful?"
- "Is file empty?"
Common Mistakes:
- Forgetting to label the output paths (Yes/No, True/False)
- Creating decisions with more than 3-4 branches (use multiple diamonds instead)
- Using for loops (use the preparation symbol)
Best Practice: Frame as a clear yes/no question. Label all output paths. For complex conditions, break into multiple decision diamonds.
Real-World Example: User Authentication Flow
[User enters credentials] →
<Username exists?>
→ No: [Show error] → [End]
→ Yes: <Password correct?>
→ No: [Show error] → [End]
→ Yes: [Grant access] → [End]
4. Input/Output (Data I/O)
Shape: Parallelogram Purpose: Represents data input or output operations When to Use: Reading user input, displaying output, reading files, or any data transfer with external systems
Example Use Cases:
- "Get user email"
- "Display confirmation message"
- "Read configuration file"
- "Output report to screen"
Common Mistakes:
- Confusing with the Document symbol (use Document for physical documents)
- Using for database operations (use the Database symbol instead)
- Mixing input and output in one symbol (separate them)
Best Practice: Be specific about what data is being input or output. Specify the source or destination when relevant.
5. Database
Shape: Cylinder Purpose: Represents database storage or retrieval operations When to Use: Reading from or writing to databases, data warehouses, or persistent storage systems
Example Use Cases:
- "Fetch user profile from DB"
- "Save order to database"
- "Query customer records"
- "Update product inventory"
Common Mistakes:
- Using for file operations (use Stored Data symbol)
- Not specifying read vs. write operations
- Using generic "database" labels without context
Best Practice: Specify the operation type (SELECT, INSERT, UPDATE, DELETE) and what entity is being accessed.
Real-World Example: Order Processing System
[Receive order] →
[Validate items] →
[Check inventory] → (Database: "Query stock levels") →
<Items available?>
→ Yes: (Database: "Update inventory") → [Process payment]
→ No: [Send backorder notification]
6. Document
Shape: Rectangle with wavy bottom edge Purpose: Represents a physical or electronic document When to Use: Generating reports, printing invoices, creating PDFs, or any document-centric output
Example Use Cases:
- "Generate invoice PDF"
- "Print shipping label"
- "Create audit report"
- "Export data to Excel"
Common Mistakes:
- Using for general data output (use I/O symbol)
- Confusing with the Stored Data symbol
- Using for database records
Best Practice: Reserve for actual document generation. Specify the document type and format.
7. Manual Input
Shape: Parallelogram with slanted top Purpose: Represents data manually entered by a user When to Use: Keyboard input, form submissions, manual data entry, or any human-generated input
Example Use Cases:
- "User enters search query"
- "Employee fills timesheet"
- "Customer enters shipping address"
- "Admin updates configuration"
Common Mistakes:
- Using generic I/O symbol instead (be specific about manual input)
- Not validating manual input in subsequent steps
- Using for automated data imports
Best Practice: Follow immediately with validation steps. Be explicit about what format the input should take.
8. Delay
Shape: Half-circle or D-shape Purpose: Represents a waiting period or time delay When to Use: Timeouts, scheduled delays, polling intervals, or any intentional pause
Example Use Cases:
- "Wait 60 seconds for API response"
- "Schedule next check in 5 minutes"
- "Pause for user acknowledgment"
- "Debounce input for 300ms"
Common Mistakes:
- Using for conditional waiting (use Decision + Delay combination)
- Not specifying the duration
- Confusing with process bottlenecks
Best Practice: Always specify the duration or condition that ends the delay.
9. Display
Shape: Hexagon or rounded rectangle with vertical sides Purpose: Represents output displayed on a screen When to Use: Showing UI elements, dashboard updates, alerts, or any visual output to users
Example Use Cases:
- "Show loading spinner"
- "Display error message"
- "Update dashboard chart"
- "Render search results"
Common Mistakes:
- Using generic I/O symbol for screen output (be specific)
- Confusing with Document symbol
- Not specifying what is displayed
Best Practice: Describe what the user sees. Use for UI-specific output distinct from general data output.
10. Preparation (Initialization)
Shape: Hexagon Purpose: Represents setup operations like loop initialization or parameter setting When to Use: Setting up loops, initializing variables, configuring parameters before main processing
Example Use Cases:
- "Initialize counter = 0"
- "Set up loop: i = 1 to 100"
- "Configure API client"
- "Allocate memory buffer"
Common Mistakes:
- Using Process symbol for initialization (use Preparation to distinguish setup)
- Forgetting to show loop termination conditions
- Using for general assignments (those are Process operations)
Best Practice: Use specifically for setup that enables subsequent operations, especially loop initialization.
Real-World Example: Batch Processing
[Start] →
(Preparation: "Initialize batch counter = 0") →
(Preparation: "Set batch size = 100") →
<More records to process?>
→ Yes: [Process batch] → (Process: "Increment counter") → (loop back)
→ No: [Generate summary] → [End]
11. Stored Data
Shape: Parallelogram with curved right edge Purpose: Represents data stored in non-database formats like files When to Use: File operations, log files, configuration files, cache storage
Example Use Cases:
- "Write to log file"
- "Read CSV file"
- "Cache API response"
- "Load configuration from JSON"
Common Mistakes:
- Using Database symbol for files
- Confusing with I/O symbol
- Using for temporary variables
Best Practice: Specify the file type and operation. Use for persistent storage that isn't a database.
12. On-Page Connector
Shape: Small circle Purpose: Connects flowchart sections on the same page When to Use: Avoiding crossed lines, improving readability, connecting distant parts of the same diagram
Example Use Cases:
- Looping back to an earlier step
- Jumping to error handling
- Connecting parallel processes
- Avoiding visual clutter
Common Mistakes:
- Not labeling connectors with matching identifiers (use A, B, C or 1, 2, 3)
- Overusing connectors (redraw flow instead if possible)
- Confusing with Off-Page Connector
Best Practice: Use sparingly. Always label matching pairs with the same identifier.
13. Off-Page Connector
Shape: Pentagon (home plate shape) Purpose: Connects flowchart sections across different pages or documents When to Use: Multi-page flowcharts, linking to sub-processes, referencing external documentation
Example Use Cases:
- "Continue on Page 2"
- "See Payment Processing Flowchart"
- "Jump to Error Handling Document"
- "Refer to Security Validation Process"
Common Mistakes:
- Using On-Page Connector instead (they're not interchangeable)
- Not providing clear reference information
- Overcomplicating with too many off-page links
Best Practice: Include page number or document name. Ensure the referenced page has a matching connector.
14. Sort
Shape: Diamond with horizontal bar at the top Purpose: Represents sorting or ordering operations When to Use: Sorting data sets, ordering results, ranking items
Example Use Cases:
- "Sort products by price"
- "Order results by date descending"
- "Rank candidates by score"
- "Alphabetize customer list"
Common Mistakes:
- Using Decision diamond instead
- Not specifying sort criteria and direction
- Using for single item comparisons (use Decision)
Best Practice: Specify the field, order (ascending/descending), and algorithm if relevant.
15. Collate
Shape: Two triangles stacked vertically, touching at points Purpose: Represents merging multiple ordered data sets into one ordered set When to Use: Merging sorted lists, combining data streams, integrating ordered datasets
Example Use Cases:
- "Merge sorted user lists from multiple regions"
- "Combine ordered event streams"
- "Integrate sorted product catalogs"
- "Merge-sort operation"
Common Mistakes:
- Confusing with Merge symbol (Collate requires ordered input)
- Using for simple concatenation (use Process)
- Not ensuring inputs are pre-sorted
Best Practice: Use only when inputs are already ordered and order must be maintained. Otherwise, use Merge.
16. Merge
Shape: Triangle pointing down Purpose: Represents merging multiple unordered data streams into one When to Use: Combining data from multiple sources, union operations, aggregating parallel processes
Example Use Cases:
- "Combine results from multiple API calls"
- "Merge user data from different sources"
- "Aggregate logs from microservices"
- "Union database query results"
Common Mistakes:
- Using for ordered data (use Collate instead)
- Confusing with Decision diamond
- Not handling duplicate data
Best Practice: Specify how conflicts or duplicates are handled. Use for parallel process convergence.
17. Extract
Shape: Triangle pointing up Purpose: Represents extracting or filtering specific data from a larger set When to Use: Filtering, searching, subsetting data, query operations
Example Use Cases:
- "Filter active users"
- "Extract orders from last 30 days"
- "Select premium customers"
- "Parse JSON for specific fields"
Common Mistakes:
- Using Decision symbol instead
- Not specifying extraction criteria
- Confusing with Sort or Search operations
Best Practice: Clearly state what criteria determines extraction. Show what happens to non-extracted data.
18. Cloud Storage
Shape: Cloud shape Purpose: Represents cloud-based storage or services When to Use: Cloud storage operations, SaaS integrations, cloud computing resources
Example Use Cases:
- "Upload file to AWS S3"
- "Fetch data from Azure Blob Storage"
- "Call Google Cloud API"
- "Store backup in cloud"
Common Mistakes:
- Using Database symbol for cloud databases (be specific)
- Using for on-premise storage
- Not specifying the cloud provider or service
Best Practice: Specify the cloud service and operation type. Use for distinctly cloud-based operations.
19. Predefined Process (Subroutine)
Shape: Rectangle with vertical lines on sides Purpose: Represents a predefined operation, function, or subprocess defined elsewhere When to Use: Function calls, reusable procedures, microservices, module references
Example Use Cases:
- "Call ValidateEmail() function"
- "Execute payment processing module"
- "Run data backup routine"
- "Invoke authentication service"
Common Mistakes:
- Using Process symbol for function calls (miss the reusability aspect)
- Not providing reference to where the subprocess is defined
- Using for inline code blocks
Best Practice: Name the function/process clearly. Reference where it's defined. Use to avoid repeating common sequences.
Real-World Example: E-Commerce Checkout
[Add items to cart] →
[Proceed to checkout] →
(Predefined: "Validate Cart") →
<Valid?>
→ No: [Show errors] → [Return to cart]
→ Yes: (Predefined: "Process Payment") →
<Payment successful?>
→ Yes: (Predefined: "Send Confirmation Email") → [End]
→ No: [Show payment error] → [End]
ISO 5807 Best Practices
Design Principles
- Single Entry, Clear Exit: Every flowchart should have one start point and clearly marked endpoints
- Top-to-Bottom, Left-to-Right: Follow natural reading direction
- Consistent Sizing: Keep symbols proportional and uniform
- Clear Labels: Use concise, action-oriented text
- Avoid Crossing Lines: Use connectors instead of crossed arrows
Complexity Management
- Break Down Complex Processes: Use predefined process symbols to reference sub-flowcharts
- Limit Page Width: Keep flowcharts readable without horizontal scrolling
- Use Swimlanes: For processes involving multiple actors or systems
- Add Documentation: Include a legend for custom conventions
Common Flowchart Patterns
Error Handling Pattern:
[Process] → <Success?>
→ No: [Log error] → (Connector to error handler)
→ Yes: [Continue]
Retry Pattern:
(Preparation: "Initialize retry count = 0") →
[Attempt operation] → <Success?>
→ Yes: [Continue]
→ No: <Retry count < max?>
→ Yes: (Delay: "Wait backoff period") → (Process: "Increment retry count") → (loop back)
→ No: [Fail permanently] → [End]
Validation Pattern:
(Manual Input: "User enters data") →
[Sanitize input] →
<Passes validation?>
→ No: (Display: "Show error message") → (loop back to input)
→ Yes: [Process data]
ISO 5807 vs. Other Standards
ISO 5807 vs. BPMN (Business Process Model and Notation)
ISO 5807:
- General-purpose flowcharting
- Simpler symbol set (19 symbols)
- Focus on algorithms and technical processes
- Ideal for documentation, education, programming
BPMN:
- Business process modeling specifically
- Extensive symbol set (100+ elements)
- Models collaboration, messages, events
- Ideal for business analysis, process optimization
When to Use Each:
- Use ISO 5807 for: Technical documentation, algorithm design, software processes, educational materials
- Use BPMN for: Business process reengineering, cross-functional workflows, enterprise architecture
ISO 5807 vs. UML Activity Diagrams
ISO 5807:
- Procedural flow representation
- Simpler notation
- Language-agnostic
- Broad industry application
UML Activity Diagrams:
- Object-oriented flow
- Part of larger UML ecosystem
- Concurrent flow support
- Software engineering focus
When to Use Each:
- Use ISO 5807 for: General process documentation, simple algorithms, universal communication
- Use UML for: Object-oriented design, software architecture, concurrent systems
How AI Tools Help Maintain ISO 5807 Compliance
Modern AI-powered diagramming tools can help ensure ISO 5807 compliance:
Automatic Symbol Selection
AI can analyze your process description and automatically select the correct ISO 5807 symbol:
- "Save to database" → Database cylinder
- "User enters email" → Manual Input parallelogram
- "Is age > 18?" → Decision diamond
- "Display error" → Display hexagon
Intelligent Layout
AI algorithms can:
- Arrange symbols following top-to-bottom flow
- Avoid line crossings
- Suggest connector placement
- Optimize spacing and alignment
Compliance Checking
AI tools can validate:
- Proper symbol usage
- Flow consistency (all paths lead to endpoints)
- Label completeness
- Standard conformance
Natural Language to Flowchart
Describe your process in plain English, and AI generates ISO-compliant flowcharts:
"User logs in. Check if email exists. If not, show error and end.
If yes, validate password. If wrong, show error. If correct, grant access."
Becomes a complete authentication flowchart with correct ISO 5807 symbols.
Example: useWorkspace
useWorkspace provides AI-powered flowcharting with full ISO 5807 compliance. Simply describe your process, and the AI:
- Parses your requirements
- Selects appropriate ISO symbols
- Creates properly structured flowcharts
- Allows refinement through natural language
- Exports in standard formats
Try it free with the prompt: "Create an order processing flowchart with payment validation and shipping."
Conclusion
ISO 5807 flowchart symbols provide a universal language for documenting processes, algorithms, and workflows. By mastering these 19 standard symbols, you can create professional, clear, and universally understandable diagrams.
Key Takeaways:
- ISO 5807 defines 19 standardized flowchart symbols
- Each symbol has specific meaning and proper usage contexts
- Standardization improves communication and reduces ambiguity
- Follow best practices: clear labels, single entry/exit, top-to-bottom flow
- Use the right symbol for the job: Process vs. I/O vs. Database vs. Display
- Modern AI tools can accelerate ISO-compliant flowchart creation
Whether you're documenting business processes, designing algorithms, or creating technical documentation, ISO 5807 compliance ensures your flowcharts are professional, clear, and universally understood.
Ready to create ISO 5807-compliant flowcharts in minutes? Try useWorkspace and experience AI-powered diagramming with full ISO standard support. Start with our free plan—no credit card required.
Frequently Asked Questions
Q: Is ISO 5807 mandatory for flowcharts? A: No, but it's strongly recommended for professional and technical documentation to ensure universal understanding.
Q: Can I mix ISO 5807 with other notations like BPMN? A: It's better to stick with one standard per diagram to avoid confusion. Choose based on your audience and purpose.
Q: What if ISO 5807 doesn't have a symbol I need? A: Use the most appropriate standard symbol and add clarifying text. For specialized needs, consider BPMN or UML.
Q: How do I create ISO 5807 flowcharts digitally? A: Use specialized tools like useWorkspace, Lucidchart, or draw.io that include ISO-compliant symbol libraries.
Q: Are there industry-specific variations of ISO 5807? A: Some industries add custom symbols, but core ISO 5807 symbols remain standard. Always include a legend for custom additions.