Flowchart
</ref>
Building blocks
Common symbols
The American National Standards Institute (ANSI) set standards for flowcharts and their symbols in the 1960s.Cite error: A <ref>
tag is missing the closing </ref>
(see the help page). Generally, flowcharts flow from top to bottom and left to right.[15]
ANSI/ISO Shape | Name | Description |
---|---|---|
![]() |
Flowline (Arrowhead)[16] | Shows the process's order of operation. A line coming from one symbol and pointing at another.[17] Arrowheads are added if the flow is not the standard top-to-bottom, left-to right.[16] |
![]() |
Terminal[17] | Indicates the beginning and ending of a program or sub-process. Represented as a stadium,[17] oval or rounded (fillet) rectangle. They usually contain the word "Start" or "End", or another phrase signaling the start or end of a process, such as "submit inquiry" or "receive product". |
![]() |
Process[16] | Represents a set of operations that changes value, form, or location of data. Represented as a rectangle.[16] |
![]() |
Decision[16] | Shows a conditional operation that determines which one of the two paths the program will take.[17] The operation is commonly a yes/no question or true/false test. Represented as a diamond (rhombus).[16] |
![]() |
Input/Output[16] | Indicates the process of inputting and outputting data,[16] as in entering data or displaying results. Represented as a rhomboid.[17] |
![]() |
Annotation[17] (Comment)[16] | Indicating additional information about a step in the program. Represented as an open rectangle with a dashed or solid line connecting it to the corresponding symbol in the flowchart.[16] |
![]() |
Predefined Process[17] | Shows named process which is defined elsewhere. Represented as a rectangle with double-struck vertical edges.[17] |
![]() |
On-page Connector[17] | Pairs of labeled connectors replace long or confusing lines on a flowchart page. Represented by a small circle with a letter inside.[17][18] |
![]() |
Off-page Connector[17] | A labeled connector for use when the target is on another page. Represented as a home plate-shaped pentagon.[17][18] |
Other symbols
The ANSI/ISO standards include symbols beyond the basic shapes. Some are:[15][18]
Shape | Name | Description |
---|---|---|
![]() |
Data File or Database | Data represented by a cylinder symbolizing a disk drive. |
![]() |
Document | Single documents represented as a rectangle with a wavy base. |
![]() |
Multiple documents represented as a stack of rectangles with wavy bases. | |
![]() |
Manual operation | Represented by a trapezoid with the longest parallel side at the top, to represent an operation or adjustment to process that can only be made manually. |
![]() |
Manual input | Represented by quadrilateral, with the top irregularly sloping up from left to right, like the side view of a keyboard. |
![]() |
Preparation or Initialization | Represented by an elongated hexagon, originally used for steps like setting a switch or initializing a routine. |
Parallel processing
- Parallel Mode is represented by two horizontal lines at the beginning or ending of simultaneous operations[15]
For parallel and concurrent processing the Parallel Mode horizontal lines[19] or a horizontal bar[20] indicate the start or end of a section of processes that can be done independently:
- At a fork, the process creates one or more additional processes, indicated by a bar with one incoming path and two or more outgoing paths.
- At a join, two or more processes continue as a single process, indicated by a bar with several incoming paths and one outgoing path. All processes must complete before the single process continues.[20]
Diagramming software

Any drawing program can be used to create flowchart diagrams, but these will have no underlying data model to share data with databases or other programs such as project management systems or spreadsheet. Many software packages exist that can create flowcharts automatically, either directly from a programming language source code, or from a flowchart description language.
There are several applications and visual programming languages[21] that use flowcharts to represent and execute programs. Generally these are used as teaching tools for beginner students.
See also
References
- ^ SEVOCAB: Software Systems Engineering Vocabulary. Term: Flow chart. Retrieved 31 July 2008.
- ^ Gilbreth, Frank Bunker; Gilbreth, Lillian Moller (1921). "Process Charts" (PDF). Archived from the original (PDF) on 2015-05-09. Retrieved 2016-05-06.. American Society of Mechanical Engineers.
- ^ Graham, Ben S. Jr. (10 June 1996). "People come first". Keynote Address at Workflow Canada.
- ^ American Society of Mechanical Engineers (1947) ASME standard; operation and flow process charts. New York, 1947. (online version)
- ^ Hartree, Douglas (1949). Calculating Instruments and Machines. The University of Illinois Press. p. 112.
- ^ Bashe, Charles (1986). IBM's Early Computers. The MIT Press. p. 327. ISBN 9780262022255.
- ^ Goldstine, Herman (1972). The Computer from Pascal to Von Neumann. Princeton University Press. pp. 266–267. ISBN 0-691-08104-2.
- ^ Taub, Abraham (1963). John von Neumann Collected Works. Vol. 5. Macmillan. pp. 80–151.
- ^ Bohl, Rynn: "Tools for Structured and Object-Oriented Design", Prentice Hall, 2007.
- ^ a b Alan B. Sterneckert (2003) Critical Incident Management. p. 126
- ^ Andrew Veronis (1978) Microprocessors: Design and Applications. p. 111
- ^ Marilyn Bohl (1978) A Guide for Programmers. p. 65.
- ^ Mark A. Fryman (2001) Quality and Process Improvement. p. 169.
- ^ Yokoyama, Tetsuo; Axelsen, Holger Bock; Glück, Robert (January 2016). "Fundamentals of reversible flowchart languages". Theoretical Computer Science. 611: 87–115. doi:10.1016/j.tcs.2015.07.046.
- ^ a b c Flowcharting Techniques GC20-8152-1 (PDF). IBM. March 1970. p. 10. Archived (PDF) from the original on 2021-10-15.
- ^ a b c d e f g h i j Cite error: The named reference
Myler1998
was invoked but never defined (see the help page). - ^ a b c d e f g h i j k l Cite error: The named reference
ShellyVermaat2011
was invoked but never defined (see the help page). - ^ a b c "What do the different flowchart shapes mean?". RFF Electronics. Retrieved 23 July 2017.
- ^ Jonathan W. Valvano (2011). Embedded Microcomputer Systems: Real Time Interfacing. Cengage Learning. pp. 131–132. ISBN 978-1-111-42625-5.
- ^ a b Robbie T. Nakatsu (2009). Reasoning with Diagrams: Decision-Making and Problem-Solving with Diagrams. John Wiley & Sons. pp. 68–69. ISBN 978-0-470-40072-2.
- ^ Myers, Brad A. "Visual programming, programming by example, and program visualization: a taxonomy." ACM SIGCHI Bulletin. Vol. 17. No. 4. ACM, 1986.
Further reading
- ISO 5807 (1985). Information processing – Documentation symbols and conventions for data, program and system flowcharts, program network charts and system resources charts. International Organization for Standardization.
{{cite book}}
: CS1 maint: numeric names: authors list (link) - ISO 10628: Diagrams for the chemical and petrochemical industry
- ECMA 4: Flowcharts (withdrawn – list of withdrawn standards)
- Schultheiss, Louis A., and Edward M. Heiliger. "[https://www.ide
External links
- Flowcharting Techniques: An IBM manual from 1969 (5 MB; PDF)