{"id":58458,"date":"2023-06-08T05:30:06","date_gmt":"2023-06-08T09:30:06","guid":{"rendered":"https:\/\/venngage.com\/blog\/?p=58458"},"modified":"2026-06-30T08:01:08","modified_gmt":"2026-06-30T12:01:08","slug":"activity-diagram","status":"publish","type":"post","link":"https:\/\/venngage.com\/blog\/activity-diagram\/","title":{"rendered":"Activity Diagram Examples: Simple UML Scenarios"},"content":{"rendered":"<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"576\" src=\"https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2026\/06\/Activity-Diagram-Examples-Simple-UML-Scenarios.png\" alt=\"Venngage blog cover graphic titled \u201cActivity Diagram Examples: Simple UML Scenarios,\u201d featuring sample UML activity diagrams layered on a mint and teal abstract background with decorative icons.\" class=\"wp-image-113420\" srcset=\"https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2026\/06\/Activity-Diagram-Examples-Simple-UML-Scenarios.png 1024w, https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2026\/06\/Activity-Diagram-Examples-Simple-UML-Scenarios-300x169.png 300w, https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2026\/06\/Activity-Diagram-Examples-Simple-UML-Scenarios-768x432.png 768w, https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2026\/06\/Activity-Diagram-Examples-Simple-UML-Scenarios-730x411.png 730w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n<p><em>Last updated on July 2026: Reviewed for UML terminology, diagram notation and Venngage template accuracy<\/em><\/p>\n\n\n\n<p>An activity diagram is a <a href=\"http:\/\/venngage.com\/blog\/uml-diagram-examples\/\" target=\"_blank\" rel=\"noreferrer noopener\">UML diagram<\/a> that shows how a process moves from one action to the next, including decisions, loops, parallel tasks and responsibilities. If UML notation feels confusing, the easiest way to learn it is through examples. This guide walks through a simple login process, an online checkout, a student enrollment workflow and several other scenarios, plus the symbols and steps you need to draw a clear activity diagram of your own.<\/p>\n\n\n\n<center><a href=\"https:\/\/infograph.venngage.com\/register?category=plans&#038;subcategory=business\" target=\"_blank\" rel=\"noopener nofollow\"><button class=\"btn-cta\"><b>START CREATING FOR FREE<\/b><\/button><\/a><\/center>&nbsp;\n\n\n\n<h2 class=\"wp-block-heading\" id=\"activity-diagram\"><strong>What is an activity diagram?<\/strong><\/h2>\n\n\n\n<p>An activity diagram is a behavioral diagram within UML, or Unified Modeling Language. UML is a standardized notation for visualizing how software systems are structured and how they behave. An activity diagram maps how a process moves from start to end, including its actions, decision points and parallel tasks. It describes how a process happens rather than how a system is built, which is why teams use it in software design, business process modeling, system analysis and use case documentation.<\/p>\n\n\n\n<p>This notation comes from the <a href=\"https:\/\/www.omg.org\/spec\/UML\/Current\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Object Management Group&#8217;s UML specification<\/a>, which keeps it consistent across tools and industries.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img decoding=\"async\" src=\"https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2022\/04\/UML-Activity-Diagram.png\" alt=\"payment processing activity diagram \" class=\"wp-image-58464\" width=\"700\" srcset=\"https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2022\/04\/UML-Activity-Diagram.png 1344w, https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2022\/04\/UML-Activity-Diagram-300x182.png 300w, https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2022\/04\/UML-Activity-Diagram-1024x622.png 1024w, https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2022\/04\/UML-Activity-Diagram-768x466.png 768w, https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2022\/04\/UML-Activity-Diagram-730x443.png 730w\" sizes=\"(max-width: 1344px) 100vw, 1344px\" \/><\/figure><\/div>\n\n\n<center><a href=\"https:\/\/venngage.com\/templates\/diagrams\/uml-activity-diagram-49f5aac9-ae65-472e-90e4-11ed838b4533\" target=\"_blank\" rel=\"noopener\"><button class=\"btn-cta\"><b>EDIT THIS ACTIVITY DIAGRAM TEMPLATE<\/b><\/button><\/a><\/center>&nbsp;\n\n\n\n<h3 class=\"wp-block-heading\"><strong><strong>How activity diagrams fit into UML<\/strong><\/strong><\/h3>\n\n\n\n<p>Diagrams under UML fall into two groups: structural diagrams, which describe how a system is organized, and behavioral diagrams, which describe how a system acts over time.<\/p>\n\n\n\n<p>Activity diagrams belong to the behavioral group. They model what happens when a process runs from start to finish, including the order of actions, the conditions that change that order and any tasks that happen at the same time.<\/p>\n\n\n\n<p>While most activities run in sequence, an activity diagram can also show two or more actions happening at the same time, such as generating an order number while sending a confirmation email.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>What are activity diagrams used for?<\/strong><\/h3>\n\n\n\n<p>Activity diagrams support different stages of a project. During planning, they map out a <a href=\"http:\/\/venngage.com\/blog\/workflow-diagram-examples\/\" target=\"_blank\" rel=\"noreferrer noopener\">workflow<\/a> before any code or process is built. During requirements gathering, they show how a <a href=\"https:\/\/venngage.com\/blog\/use-case-diagram-example\/\" target=\"_blank\" rel=\"noreferrer noopener\">use case<\/a> actually unfolds step by step. During design, they help describe the logic behind a method, function or operation.<\/p>\n\n\n\n<p>Beyond software projects, teams also use activity diagrams to:<\/p>\n\n\n\n<ul>\n<li>Model a business process from start to finish<\/li>\n\n\n\n<li>Illustrate how a system behaves over time<\/li>\n\n\n\n<li>Document the rules or logic that govern a process<\/li>\n\n\n\n<li>Clarify a use case before development begins<\/li>\n\n\n\n<li>Simplify a workflow that involves several teams or decision points<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img decoding=\"async\" src=\"https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2022\/04\/UML-Sequence-Diagram.png\" alt=\"UML Sequence Diagram\" class=\"wp-image-58465\" width=\"700\" srcset=\"https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2022\/04\/UML-Sequence-Diagram.png 1056w, https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2022\/04\/UML-Sequence-Diagram-300x232.png 300w, https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2022\/04\/UML-Sequence-Diagram-1024x791.png 1024w, https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2022\/04\/UML-Sequence-Diagram-768x593.png 768w, https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2022\/04\/UML-Sequence-Diagram-730x564.png 730w\" sizes=\"(max-width: 1056px) 100vw, 1056px\" \/><\/figure><\/div>\n\n\n<center><a href=\"https:\/\/venngage.com\/templates\/diagrams\/uml-sequence-diagram-dcf0931d-7c44-4613-a4b9-773363d8bc22\" target=\"_blank\" rel=\"noopener\"><button class=\"btn-cta\"><b>EDIT THIS ACTIVITY DIAGRAM TEMPLATE<\/b><\/button><\/a><\/center>&nbsp;\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Simple Activity Diagram Example: User Login<\/strong><\/h2>\n\n\n\n<p>Before working through more advanced scenarios, it helps to see a basic activity diagram in action. Here is a simple example based on a user logging into an application.<\/p>\n\n\n\n<p>The process follows these steps:<\/p>\n\n\n\n<ol>\n<li>Start<\/li>\n\n\n\n<li>User enters a username and password<\/li>\n\n\n\n<li>The system validates the credentials<\/li>\n\n\n\n<li>Decision: are the credentials valid?<\/li>\n<\/ol>\n\n\n\n<ul>\n<li>Yes: the system shows the dashboard, and the process ends<\/li>\n\n\n\n<li>No: the system shows an error message and the user retries the login<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2026\/06\/activity-diagram-819x1024.png\" alt=\"UML activity diagram showing a login process. The flow starts with a start marker, then moves to \u201cEnter username and password,\u201d \u201cValidate credentials,\u201d and a decision diamond labeled \u201cCredentials valid?\u201d The Yes path goes to \u201cShow dashboard\u201d and ends. The No path goes to \u201cShow error message,\u201d then \u201cRetry login,\u201d looping back to the username and password step.\" class=\"wp-image-113436\" width=\"500\" srcset=\"https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2026\/06\/activity-diagram-819x1024.png 819w, https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2026\/06\/activity-diagram-240x300.png 240w, https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2026\/06\/activity-diagram-768x960.png 768w, https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2026\/06\/activity-diagram-730x912.png 730w, https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2026\/06\/activity-diagram.png 1122w\" sizes=\"(max-width: 819px) 100vw, 819px\" \/><\/figure><\/div>\n\n\n<p>This simple example already uses the core building blocks of an activity diagram. Rounded rectangles represent actions, such as entering credentials or validating them. The diamond represents a decision node, where the flow splits based on a condition. Arrows show the control flow connecting each step, and the start and final markers define the boundaries of the process.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"components\"><strong>Key elements and symbols in an activity diagram<\/strong><\/h2>\n\n\n\n<p>Activity diagrams are often compared to flowcharts because both show how a process moves from one step to the next. What sets an activity diagram apart is the specific set of symbols it uses to represent actions, decisions, parallel tasks and responsibilities. The table below covers the elements you will see most often.<\/p>\n\n\n\n<table style=\"width:100%; border-collapse:collapse; font-family:Verdana, Geneva, sans-serif; font-size:13px; color:#1a1a1a;\">\n  <thead>\n    <tr style=\"background-color:#2e5a8c;\">\n      <th style=\"padding:10px 12px; text-align:left; color:#ffffff; border:1px solid #cccccc;\">Element<\/th>\n      <th style=\"padding:10px 12px; text-align:center; color:#ffffff; border:1px solid #cccccc;\">Symbol<\/th>\n      <th style=\"padding:10px 12px; text-align:left; color:#ffffff; border:1px solid #cccccc;\">What It Means<\/th>\n      <th style=\"padding:10px 12px; text-align:left; color:#ffffff; border:1px solid #cccccc;\">When to Use It<\/th>\n    <\/tr>\n  <\/thead>\n  <tbody>\n    <tr style=\"background-color:#ffffff;\">\n      <td style=\"padding:10px 12px; border:1px solid #cccccc;\">Initial node<\/td>\n      <td style=\"padding:10px 12px; border:1px solid #cccccc; text-align:center;\"><svg width=\"28\" height=\"28\" viewBox=\"0 0 28 28\"><circle cx=\"14\" cy=\"14\" r=\"10\" fill=\"#1a1a1a\"\/><\/svg><\/td>\n      <td style=\"padding:10px 12px; border:1px solid #cccccc;\">Starting point<\/td>\n      <td style=\"padding:10px 12px; border:1px solid #cccccc;\">Use once at the beginning of the process<\/td>\n    <\/tr>\n    <tr style=\"background-color:#f2f6fa;\">\n      <td style=\"padding:10px 12px; border:1px solid #cccccc;\">Action\/activity<\/td>\n      <td style=\"padding:10px 12px; border:1px solid #cccccc; text-align:center;\"><svg width=\"48\" height=\"28\" viewBox=\"0 0 48 28\"><rect x=\"2\" y=\"4\" width=\"44\" height=\"20\" rx=\"10\" ry=\"10\" fill=\"#ffffff\" stroke=\"#1a1a1a\" stroke-width=\"2\"\/><\/svg><\/td>\n      <td style=\"padding:10px 12px; border:1px solid #cccccc;\">A task or step<\/td>\n      <td style=\"padding:10px 12px; border:1px solid #cccccc;\">Use for actions like &ldquo;Validate payment&rdquo;<\/td>\n    <\/tr>\n    <tr style=\"background-color:#ffffff;\">\n      <td style=\"padding:10px 12px; border:1px solid #cccccc;\">Control flow<\/td>\n      <td style=\"padding:10px 12px; border:1px solid #cccccc; text-align:center;\"><svg width=\"48\" height=\"28\" viewBox=\"0 0 48 28\"><line x1=\"4\" y1=\"14\" x2=\"38\" y2=\"14\" stroke=\"#1a1a1a\" stroke-width=\"2\"\/><polygon points=\"38,8 46,14 38,20\" fill=\"#1a1a1a\"\/><\/svg><\/td>\n      <td style=\"padding:10px 12px; border:1px solid #cccccc;\">Direction of movement<\/td>\n      <td style=\"padding:10px 12px; border:1px solid #cccccc;\">Use to connect actions<\/td>\n    <\/tr>\n    <tr style=\"background-color:#f2f6fa;\">\n      <td style=\"padding:10px 12px; border:1px solid #cccccc;\">Decision node<\/td>\n      <td style=\"padding:10px 12px; border:1px solid #cccccc; text-align:center;\"><svg width=\"28\" height=\"28\" viewBox=\"0 0 28 28\"><polygon points=\"14,2 26,14 14,26 2,14\" fill=\"#ffffff\" stroke=\"#1a1a1a\" stroke-width=\"2\"\/><\/svg><\/td>\n      <td style=\"padding:10px 12px; border:1px solid #cccccc;\">Branch based on a condition<\/td>\n      <td style=\"padding:10px 12px; border:1px solid #cccccc;\">Use for yes\/no or conditional paths<\/td>\n    <\/tr>\n    <tr style=\"background-color:#ffffff;\">\n      <td style=\"padding:10px 12px; border:1px solid #cccccc;\">Merge node<\/td>\n      <td style=\"padding:10px 12px; border:1px solid #cccccc; text-align:center;\"><svg width=\"28\" height=\"28\" viewBox=\"0 0 28 28\"><polygon points=\"14,2 26,14 14,26 2,14\" fill=\"#ffffff\" stroke=\"#1a1a1a\" stroke-width=\"2\"\/><\/svg><\/td>\n      <td style=\"padding:10px 12px; border:1px solid #cccccc;\">Combines alternative paths<\/td>\n      <td style=\"padding:10px 12px; border:1px solid #cccccc;\">Use after branches rejoin<\/td>\n    <\/tr>\n    <tr style=\"background-color:#f2f6fa;\">\n      <td style=\"padding:10px 12px; border:1px solid #cccccc;\">Fork node<\/td>\n      <td style=\"padding:10px 12px; border:1px solid #cccccc; text-align:center;\"><svg width=\"48\" height=\"28\" viewBox=\"0 0 48 28\"><rect x=\"4\" y=\"11\" width=\"40\" height=\"6\" fill=\"#1a1a1a\"\/><\/svg><\/td>\n      <td style=\"padding:10px 12px; border:1px solid #cccccc;\">Splits into parallel tasks<\/td>\n      <td style=\"padding:10px 12px; border:1px solid #cccccc;\">Use when tasks happen at the same time<\/td>\n    <\/tr>\n    <tr style=\"background-color:#ffffff;\">\n      <td style=\"padding:10px 12px; border:1px solid #cccccc;\">Join node<\/td>\n      <td style=\"padding:10px 12px; border:1px solid #cccccc; text-align:center;\"><svg width=\"48\" height=\"28\" viewBox=\"0 0 48 28\"><rect x=\"4\" y=\"11\" width=\"40\" height=\"6\" fill=\"#1a1a1a\"\/><\/svg><\/td>\n      <td style=\"padding:10px 12px; border:1px solid #cccccc;\">Synchronizes parallel tasks<\/td>\n      <td style=\"padding:10px 12px; border:1px solid #cccccc;\">Use when parallel tasks must finish before continuing<\/td>\n    <\/tr>\n    <tr style=\"background-color:#f2f6fa;\">\n      <td style=\"padding:10px 12px; border:1px solid #cccccc;\">Object node<\/td>\n      <td style=\"padding:10px 12px; border:1px solid #cccccc; text-align:center;\"><svg width=\"48\" height=\"28\" viewBox=\"0 0 48 28\"><rect x=\"4\" y=\"4\" width=\"40\" height=\"20\" fill=\"#ffffff\" stroke=\"#1a1a1a\" stroke-width=\"2\"\/><\/svg><\/td>\n      <td style=\"padding:10px 12px; border:1px solid #cccccc;\">Data or object used or created<\/td>\n      <td style=\"padding:10px 12px; border:1px solid #cccccc;\">Use for documents, orders, forms or records<\/td>\n    <\/tr>\n    <tr style=\"background-color:#ffffff;\">\n      <td style=\"padding:10px 12px; border:1px solid #cccccc;\">Object flow<\/td>\n      <td style=\"padding:10px 12px; border:1px solid #cccccc; text-align:center;\"><svg width=\"48\" height=\"28\" viewBox=\"0 0 48 28\"><line x1=\"4\" y1=\"14\" x2=\"38\" y2=\"14\" stroke=\"#1a1a1a\" stroke-width=\"2\" stroke-dasharray=\"4,3\"\/><polygon points=\"38,8 46,14 38,20\" fill=\"#1a1a1a\"\/><\/svg><\/td>\n      <td style=\"padding:10px 12px; border:1px solid #cccccc;\">Movement of data or object<\/td>\n      <td style=\"padding:10px 12px; border:1px solid #cccccc;\">Use when showing data passed between actions<\/td>\n    <\/tr>\n    <tr style=\"background-color:#f2f6fa;\">\n      <td style=\"padding:10px 12px; border:1px solid #cccccc;\">Swimlane<\/td>\n      <td style=\"padding:10px 12px; border:1px solid #cccccc; text-align:center;\"><svg width=\"48\" height=\"28\" viewBox=\"0 0 48 28\"><rect x=\"4\" y=\"2\" width=\"40\" height=\"24\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"2\"\/><line x1=\"24\" y1=\"2\" x2=\"24\" y2=\"26\" stroke=\"#1a1a1a\" stroke-width=\"2\"\/><\/svg><\/td>\n      <td style=\"padding:10px 12px; border:1px solid #cccccc;\">Groups actions by role<\/td>\n      <td style=\"padding:10px 12px; border:1px solid #cccccc;\">Use when responsibilities matter<\/td>\n    <\/tr>\n    <tr style=\"background-color:#ffffff;\">\n      <td style=\"padding:10px 12px; border:1px solid #cccccc;\">Final node<\/td>\n      <td style=\"padding:10px 12px; border:1px solid #cccccc; text-align:center;\"><svg width=\"28\" height=\"28\" viewBox=\"0 0 28 28\"><circle cx=\"14\" cy=\"14\" r=\"11\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"2\"\/><circle cx=\"14\" cy=\"14\" r=\"6\" fill=\"#1a1a1a\"\/><\/svg><\/td>\n      <td style=\"padding:10px 12px; border:1px solid #cccccc;\">End of the process<\/td>\n      <td style=\"padding:10px 12px; border:1px solid #cccccc;\">Use when the workflow is complete<\/td>\n    <\/tr>\n  <\/tbody>\n<\/table>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img decoding=\"async\" src=\"https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2022\/04\/activity-diagram.png\" alt=\"activity diagram\" class=\"wp-image-58469\" width=\"700\" srcset=\"https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2022\/04\/activity-diagram.png 732w, https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2022\/04\/activity-diagram-300x143.png 300w, https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2022\/04\/activity-diagram-730x348.png 730w\" sizes=\"(max-width: 732px) 100vw, 732px\" \/><\/figure><\/div>\n\n\n<p><em>Use decision and merge nodes for alternative paths. Use fork and join nodes for parallel paths. A decision asks which path the process should take, while a fork means two or more tasks happen at the same time.<\/em><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img decoding=\"async\" src=\"https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2022\/04\/UML-State-Diagram.png\" alt=\"mobile app activity diagram\" class=\"wp-image-58466\" width=\"700\" srcset=\"https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2022\/04\/UML-State-Diagram.png 1056w, https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2022\/04\/UML-State-Diagram-300x232.png 300w, https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2022\/04\/UML-State-Diagram-1024x791.png 1024w, https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2022\/04\/UML-State-Diagram-768x593.png 768w, https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2022\/04\/UML-State-Diagram-730x564.png 730w\" sizes=\"(max-width: 1056px) 100vw, 1056px\" \/><\/figure><\/div>\n\n\n<center><a href=\"https:\/\/venngage.com\/templates\/diagrams\/uml-state-diagram-05e14a2a-b6d6-45a0-bc89-5cd9ed6d3647\" target=\"_blank\" rel=\"noopener\"><button class=\"btn-cta\"><b>EDIT THIS ACTIVITY DIAGRAM TEMPLATE<\/b><\/button><\/a><\/center>&nbsp;\n\n\n\n<h2 class=\"wp-block-heading\" id=\"examples\"><strong>More activity diagram examples<\/strong><\/h2>\n\n\n\n<p>Once the basic symbols feel familiar, it helps to see them applied across a range of common scenarios. Each example below outlines the actors involved, the steps in the flow and what the diagram demonstrates.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Online shopping checkout activity diagram<\/strong><\/h3>\n\n\n\n<p><strong>Scenario: <\/strong>A customer completes a purchase on an ecommerce site, and the system needs to confirm inventory, process payment and send confirmation in parallel.<\/p>\n\n\n\n<p><strong>Whose involved: <\/strong>Customer, system, payment gateway<\/p>\n\n\n\n<p><strong>Flow:&nbsp;<\/strong><\/p>\n\n\n\n<ol>\n<li>Customer clicks checkout<\/li>\n\n\n\n<li>System checks inventory<\/li>\n\n\n\n<li>Decision: are the items in stock?<\/li>\n\n\n\n<li>Customer enters shipping and payment details<\/li>\n\n\n\n<li>System processes payment<\/li>\n\n\n\n<li>Decision: was payment successful?<\/li>\n\n\n\n<li>Fork: generate order number and send confirmation email at the same time<\/li>\n\n\n\n<li>Join<\/li>\n\n\n\n<li>Display order confirmation<\/li>\n\n\n\n<li>End<\/li>\n<\/ol>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2026\/06\/Ecommerce-Purchase-Activity-Diagram-1024x791.png\" alt=\"Ecommerce purchase activity diagram showing a checkout flow. The customer starts by clicking checkout, then the system checks inventory. If items are out of stock, the flow ends. If items are in stock, payment is processed, followed by parallel tasks to generate an order number and send a confirmation email. The flow then displays the order confirmation and ends. Decorative ecommerce icons, including a shopping cart, sale badge and store logo, appear on the right and bottom.\" class=\"wp-image-113448\" width=\"700\" srcset=\"https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2026\/06\/Ecommerce-Purchase-Activity-Diagram-1024x791.png 1024w, https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2026\/06\/Ecommerce-Purchase-Activity-Diagram-300x232.png 300w, https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2026\/06\/Ecommerce-Purchase-Activity-Diagram-768x593.png 768w, https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2026\/06\/Ecommerce-Purchase-Activity-Diagram-730x564.png 730w, https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2026\/06\/Ecommerce-Purchase-Activity-Diagram.png 1056w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n<center><a href=\"https:\/\/venngage.com\/templates\/diagrams\/illustrative-state-diagram-for-online-ordering-system-41c1f649-fab9-49bc-acf5-6bbffe8b5173\" target=\"_blank\" rel=\"noopener\"><button class=\"btn-cta\"><b>EDIT THIS ACTIVITY DIAGRAM TEMPLATE<\/b><\/button><\/a><\/center>&nbsp;\n\n\n\n<p>This example demonstrates how fork and join nodes let two independent tasks, generating an order number and sending a confirmation email, run at the same time instead of one after the other.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Student Enrollment Activity Diagram<\/strong><\/h3>\n\n\n\n<p><strong>Scenario: <\/strong>A student registers for classes through a registration system, with the registration division reviewing and confirming the request.<\/p>\n\n\n\n<p><strong>Whose involved: <\/strong>Student, registration system, registration division<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2026\/06\/Student-Registration-Activity-Diagram-\u2013-Multi\u2011Actor-Swimlanes-1-1024x791.png\" alt=\"Student registration activity diagram with four swimlanes for Registration Division, Student, Registration System and Course Database. The flow shows enrollment being confirmed, eligibility audited, the process finalized, prerequisites checked, seats verified, the catalog displayed, selection submitted, a seat held and confirmed, approval forwarded, status checked, results notified and the student record updated\" class=\"wp-image-113457\" width=\"700\" srcset=\"https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2026\/06\/Student-Registration-Activity-Diagram-\u2013-Multi\u2011Actor-Swimlanes-1-1024x791.png 1024w, https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2026\/06\/Student-Registration-Activity-Diagram-\u2013-Multi\u2011Actor-Swimlanes-1-300x232.png 300w, https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2026\/06\/Student-Registration-Activity-Diagram-\u2013-Multi\u2011Actor-Swimlanes-1-768x593.png 768w, https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2026\/06\/Student-Registration-Activity-Diagram-\u2013-Multi\u2011Actor-Swimlanes-1-730x564.png 730w, https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2026\/06\/Student-Registration-Activity-Diagram-\u2013-Multi\u2011Actor-Swimlanes-1.png 1056w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n<center><a href=\"https:\/\/venngage.com\/templates\/diagrams\/uml-sequence-diagram-dcf0931d-7c44-4613-a4b9-773363d8bc22\" target=\"_blank\" rel=\"noopener\"><button class=\"btn-cta\"><b>EDIT THIS ACTIVITY DIAGRAM TEMPLATE<\/b><\/button><\/a><\/center>&nbsp;\n\n\n\n<p>The diagram follows the student selecting courses, the system checking availability and prerequisites, and the registration division confirming or rejecting the enrollment. It shows how a single workflow can span more than one actor without losing clarity, as long as swimlanes separate each actor&#8217;s responsibilities.<\/p>\n\n\n\n<p>This example demonstrates how swimlanes keep a multi-actor process easy to follow, since each column shows exactly who is responsible for each step.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Library management activity diagram<\/strong><\/h3>\n\n\n\n<p><strong>Scenario: <\/strong>A library patron searches for a book and either borrows or reserves it depending on availability.<\/p>\n\n\n\n<p><strong>Whose involved: <\/strong>User, library system<\/p>\n\n\n\n<p><strong>Flow:&nbsp;<\/strong><\/p>\n\n\n\n<ol>\n<li>User searches for a book<\/li>\n\n\n\n<li>System checks availability<\/li>\n\n\n\n<li>Decision: is the book available?<\/li>\n\n\n\n<li>Borrow or reserve the book<\/li>\n\n\n\n<li>Update inventory<\/li>\n\n\n\n<li>Generate due date<\/li>\n\n\n\n<li>End<\/li>\n<\/ol>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2026\/06\/Library-Borrowing-System-Activity-Diagram-791x1024.png\" alt=\"Activity diagram for a library borrowing system. A user searches for a book through the library system, which checks inventory availability. If the book is available, the user can borrow it and receive a due date. If the book is not available, the user can reserve it. The diagram includes icons for the user, inventory database, book, calendar and library contact details.\" class=\"wp-image-113462\" width=\"500\" srcset=\"https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2026\/06\/Library-Borrowing-System-Activity-Diagram-791x1024.png 791w, https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2026\/06\/Library-Borrowing-System-Activity-Diagram-232x300.png 232w, https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2026\/06\/Library-Borrowing-System-Activity-Diagram-768x994.png 768w, https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2026\/06\/Library-Borrowing-System-Activity-Diagram-730x945.png 730w, https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2026\/06\/Library-Borrowing-System-Activity-Diagram.png 816w\" sizes=\"(max-width: 791px) 100vw, 791px\" \/><\/figure><\/div>\n\n\n<center><a href=\"https:\/\/venngage.com\/templates\/diagrams\/simple-data-flow-diagram-de1eddea-a8ab-4ccc-bb9d-b449dd4e0d95\" target=\"_blank\" rel=\"noopener\"><button class=\"btn-cta\"><b>EDIT THIS ACTIVITY DIAGRAM TEMPLATE<\/b><\/button><\/a><\/center>&nbsp;\n\n\n\n<p>This example demonstrates a straightforward decision node that determines whether the next step is a loan or a reservation, which is a pattern that shows up across many inventory-based systems.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Order processing activity diagram<\/strong><\/h3>\n\n\n\n<p><strong>Scenario: <\/strong>A retailer receives an order and needs to handle billing and fulfillment as separate but coordinated tasks.<\/p>\n\n\n\n<p><strong>Whose involved: <\/strong>Order system, billing department, fulfillment team<\/p>\n\n\n\n<p><strong>Flow:&nbsp;<\/strong><\/p>\n\n\n\n<ol>\n<li>Receive order<\/li>\n\n\n\n<li>Fork into billing and fulfillment<\/li>\n\n\n\n<li>Decide delivery method<\/li>\n\n\n\n<li>Ship order<\/li>\n\n\n\n<li>Join billing and shipping completion<\/li>\n\n\n\n<li>Close order<\/li>\n<\/ol>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2026\/06\/Retailer-Order-Handling-Activity-Diagram-791x1024.png\" alt=\"Retailer order handling activity diagram showing an order process. The flow starts when an order is received, then checks whether billing is complete. If yes, the order is shipped. If no, the order is marked as pending. Both paths continue to deciding delivery, closing the order and ending the process. The diagram uses purple tones with icons for power\/start, shipping, time, question, document and end.\" class=\"wp-image-113466\" width=\"500\" srcset=\"https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2026\/06\/Retailer-Order-Handling-Activity-Diagram-791x1024.png 791w, https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2026\/06\/Retailer-Order-Handling-Activity-Diagram-232x300.png 232w, https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2026\/06\/Retailer-Order-Handling-Activity-Diagram-768x994.png 768w, https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2026\/06\/Retailer-Order-Handling-Activity-Diagram-730x945.png 730w, https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2026\/06\/Retailer-Order-Handling-Activity-Diagram.png 816w\" sizes=\"(max-width: 791px) 100vw, 791px\" \/><\/figure><\/div>\n\n\n<center><a href=\"https:\/\/venngage.com\/templates\/diagrams\/burgundy-ecommerce-product-order-state-diagram-8c1608d7-70b0-4f69-b6a3-90443d11a1c4\" target=\"_blank\" rel=\"noopener\"><button class=\"btn-cta\"><b>EDIT THIS ACTIVITY DIAGRAM TEMPLATE<\/b><\/button><\/a><\/center>&nbsp;\n\n\n\n<p>This example demonstrates how a fork can split one process into two parallel branches that later rejoin at a join node, which keeps the diagram accurate when departments work independently before a process can close.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Payment processing activity diagram<\/strong><\/h3>\n\n\n\n<p><strong>Scenario: <\/strong>A customer initiates a transaction and the system validates and authorizes the payment before confirming the result.<\/p>\n\n\n\n<p><strong>Whose involved: <\/strong>Customer, system, payment gateway<\/p>\n\n\n\n<p><strong>Flow:&nbsp;<\/strong><\/p>\n\n\n\n<ol>\n<li>Customer initiates transaction<\/li>\n\n\n\n<li>System validates payment details<\/li>\n\n\n\n<li>Payment gateway authorizes the payment<\/li>\n\n\n\n<li>Decision: approved or declined?<\/li>\n\n\n\n<li>Send confirmation or show a failure message<\/li>\n\n\n\n<li>End<\/li>\n<\/ol>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2026\/06\/Transaction-Authorization-Activity-Diagram-1024x663.png\" alt=\"Transaction process swimlane diagram showing a customer initiating payment, the system validating details, the payment gateway approving or declining the transaction, and the process ending with approval, confirmation or failure messages.\" class=\"wp-image-113469\" width=\"700\" srcset=\"https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2026\/06\/Transaction-Authorization-Activity-Diagram-1024x663.png 1024w, https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2026\/06\/Transaction-Authorization-Activity-Diagram-300x194.png 300w, https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2026\/06\/Transaction-Authorization-Activity-Diagram-768x497.png 768w, https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2026\/06\/Transaction-Authorization-Activity-Diagram-1536x994.png 1536w, https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2026\/06\/Transaction-Authorization-Activity-Diagram-730x472.png 730w, https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2026\/06\/Transaction-Authorization-Activity-Diagram.png 1632w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n<center><a href=https:\/\/venngage.com\/templates\/diagrams\/swimlane-process-flow-2c0da00c-8eb3-4ca9-8db5-14cc26812e4f\" target=\"_blank\" rel=\"noopener\"><button class=\"btn-cta\"><b>EDIT THIS ACTIVITY DIAGRAM TEMPLATE<\/b><\/button><\/a><\/center>&nbsp;\n\n\n\n<p>This example demonstrates a clean single decision node with two outcomes, which makes it a useful starting template for any process that ends in approval or rejection.<\/p>\n\n\n\n<p>Try the <a href=\"https:\/\/venngage.com\/features\/uml-diagram-tool\">UML diagram maker<\/a> to adapt any of these scenarios, or start from an <a href=\"https:\/\/venngage.com\/templates\/diagrams\/uml-activity-diagram-49f5aac9-ae65-472e-90e4-11ed838b4533\">activity diagram template<\/a> and swap in your own process.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"how-to\"><strong>How to draw an activity diagram step by step<\/strong><\/h2>\n\n\n\n<p>Drawing an activity diagram becomes much easier once the process is broken into a few clear stages, from defining scope to refining the finished diagram.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>1. Define the process scope and list actions<\/strong><\/h3>\n\n\n\n<ul>\n<li>Pick one process or use case<\/li>\n\n\n\n<li>Identify the start and end points<\/li>\n\n\n\n<li>Avoid modeling an entire system in one diagram<\/li>\n<\/ul>\n\n\n\n<p>Use verb-led action labels so each step reads as a clear task:<\/p>\n\n\n\n<ul>\n<li>Validate payment<\/li>\n\n\n\n<li>Check inventory<\/li>\n\n\n\n<li>Send confirmation<\/li>\n\n\n\n<li>Review application<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2. Identify actors and swimlane<\/strong><\/h3>\n\n\n\n<ul>\n<li>Add <a href=\"http:\/\/venngage.com\/blog\/swimlane-diagram\/\" target=\"_blank\" rel=\"noreferrer noopener\">swimlanes<\/a> only when responsibilities matter<\/li>\n\n\n\n<li>Use lanes for user, system, admin, payment gateway, department or external service<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">3. <strong>Organize the flow with decisions, forks and joins<\/strong><\/h3>\n\n\n\n<ul>\n<li>Use diamonds for decisions<\/li>\n\n\n\n<li>Label decision arrows with guard conditions, such as [approved], [rejected], [in stock] or [payment failed]<\/li>\n\n\n\n<li>Use fork and join only for true parallel tasks<\/li>\n\n\n\n<li>Make sure every branch leads somewhere<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>4. Create the diagram in Venngage<\/strong><\/h3>\n\n\n\n<p>With the flow mapped out, you can build the finished diagram using <a href=\"https:\/\/venngage.com\/features\/uml-diagram-tool\">Venngage&#8217;s UML diagram maker<\/a>.<\/p>\n\n\n\n<ul>\n<li>Open Venngage&#8217;s UML diagram maker<\/li>\n\n\n\n<li>Choose an activity diagram template<\/li>\n\n\n\n<li>Rename the diagram based on the process<\/li>\n\n\n\n<li>Add or remove swimlanes<\/li>\n\n\n\n<li>Replace placeholder text with verb-led action labels<\/li>\n\n\n\n<li>Add decision nodes and label each branch<\/li>\n\n\n\n<li>Use fork and join nodes for parallel tasks<\/li>\n\n\n\n<li>Share for comments or export as PNG or PDF<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2026\/06\/cf22c5ba-0935-409b-9cf0-0ecaf441d9b1-1024x791.png\" alt=\"Swimlane activity diagram for a 2024 engineering workflow, showing steps across Client, Sales, Contracts, Construction and Handover. The flow starts with a client submitting a PO, moves through costing, contract review, mobilization, construction and handover, with decision points for contract approval and accepted terms.\" class=\"wp-image-113476\" width=\"700\" srcset=\"https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2026\/06\/cf22c5ba-0935-409b-9cf0-0ecaf441d9b1-1024x791.png 1024w, https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2026\/06\/cf22c5ba-0935-409b-9cf0-0ecaf441d9b1-300x232.png 300w, https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2026\/06\/cf22c5ba-0935-409b-9cf0-0ecaf441d9b1-768x593.png 768w, https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2026\/06\/cf22c5ba-0935-409b-9cf0-0ecaf441d9b1-730x564.png 730w, https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2026\/06\/cf22c5ba-0935-409b-9cf0-0ecaf441d9b1.png 1056w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n<center><a href=https:\/\/venngage.com\/templates\/diagrams\/swimlane-workflow-diagram-cf22c5ba-0935-409b-9cf0-0ecaf441d9b1\" target=\"_blank\" rel=\"noopener\"><button class=\"btn-cta\"><b>EDIT THIS ACTIVITY DIAGRAM TEMPLATE<\/b><\/button><\/a><\/center>&nbsp;\n\n\n\n<h3 class=\"wp-block-heading\"><strong>5. Review and refine the diagram<\/strong><\/h3>\n\n\n\n<p>Before sharing the diagram, run through this checklist:<\/p>\n\n\n\n<ul>\n<li>Does the diagram have one clear start?<\/li>\n\n\n\n<li>Does every path lead somewhere?<\/li>\n\n\n\n<li>Are decision paths labeled?<\/li>\n\n\n\n<li>Are action labels short and clear?<\/li>\n\n\n\n<li>Are swimlanes assigned correctly?<\/li>\n\n\n\n<li>Are fork and join nodes used only for parallel work?<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"benefits\"><strong>When should you use an activity diagram?<\/strong><\/h2>\n\n\n\n<p>Use an activity diagram when you need to:<\/p>\n\n\n\n<ul>\n<li>Model a business workflow<\/li>\n\n\n\n<li>Explain a use case<\/li>\n\n\n\n<li>Show system behavior over time<\/li>\n\n\n\n<li>Document conditional logic<\/li>\n\n\n\n<li>Show parallel processes<\/li>\n\n\n\n<li>Clarify responsibilities between users, systems or departments<\/li>\n\n\n\n<li>Identify bottlenecks or missing paths<\/li>\n<\/ul>\n\n\n\n<p>However, an activity diagram is not the right fit for every situation. Use a different diagram when the goal changes:<\/p>\n\n\n\n<ul>\n<li>Use a <a href=\"http:\/\/venngage.com\/blog\/class-diagram\/\" target=\"_blank\" rel=\"noreferrer noopener\">class diagram<\/a> to show object or class structure<\/li>\n\n\n\n<li>Use a sequence diagram to show message timing between objects<\/li>\n\n\n\n<li>Use a data flow diagram to show data movement and storage<\/li>\n\n\n\n<li>Use BPMN for formal business process notation<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Activity Diagram vs Flowchart<\/strong><\/h2>\n\n\n\n<p>An activity diagram is similar to a <a href=\"http:\/\/venngage.com\/templates\/diagrams\/flowchart\" target=\"_blank\" rel=\"noreferrer noopener\">flowchart<\/a>, but it is part of UML and uses more formal notation for system behavior, parallel tasks, object flows and swimlanes.<\/p>\n\n\n\n<div style=\"overflow: hidden !important; border-radius: 10px !important; border: 1px solid #D1D5DB !important; margin: 0 !important; padding: 0 !important; display: flex !important; flex-direction: column !important; margin-block-start: 0 !important; margin-block-end: 0 !important\"><div style=\"overflow-x: auto !important; overflow-y: hidden !important; display: block !important; width: 100% !important; margin: 0 !important; padding: 0 !important; -webkit-overflow-scrolling: touch !important\"><table style=\"border-collapse: collapse !important; border-spacing: 0 !important; width: 100% !important; max-width: 100% !important; min-width: 360px !important; font-family: \"Inter\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif !important; font-size: 15px !important; line-height: 1.5 !important; color: #1a1a2e !important; margin: 0 !important; padding: 0 !important; table-layout: auto !important; display: table !important; background: none !important; border: none !important; margin-bottom: 0 !important; margin-top: 0 !important; word-wrap: break-word !important; overflow-wrap: break-word !important\"><thead style=\"margin:0!important;padding:0!important;border:none!important;\"><tr style=\"background-color: #0B3D91 !important; background: #0B3D91 !important\"><th style=\"padding: 14px 16px !important; text-align: left !important; font-weight: 600 !important; color: #FFFFFF !important; border-right: 1px solid rgba(255, 255, 255, 0.3) !important; border-bottom: 2px solid #094080 !important; border-top: none !important; border-left: none !important; font-size: 17px !important; text-transform: none !important; letter-spacing: 0 !important; word-wrap: break-word !important; overflow-wrap: break-word !important; background-color: #0B3D91 !important; background: #0B3D91 !important\">Feature<\/th><th style=\"padding: 14px 16px !important; text-align: left !important; font-weight: 600 !important; color: #FFFFFF !important; border-right: 1px solid rgba(255, 255, 255, 0.3) !important; border-bottom: 2px solid #094080 !important; border-top: none !important; border-left: none !important; font-size: 17px !important; text-transform: none !important; letter-spacing: 0 !important; word-wrap: break-word !important; overflow-wrap: break-word !important; background-color: #0B3D91 !important; background: #0B3D91 !important\">Activity Diagram<\/th><th style=\"padding: 14px 16px !important; text-align: left !important; font-weight: 600 !important; color: #FFFFFF !important; border-right: none !important; border-bottom: 2px solid #094080 !important; border-top: none !important; border-left: none !important; font-size: 17px !important; text-transform: none !important; letter-spacing: 0 !important; word-wrap: break-word !important; overflow-wrap: break-word !important; background-color: #0B3D91 !important; background: #0B3D91 !important\">Flowchart<\/th><\/tr><\/thead><tbody style=\"margin:0!important;padding:0!important;border:none!important;\"><tr style=\"background-color: #FFFFFF !important; background: #FFFFFF !important\"><td style=\"padding: 12px 16px !important; text-align: left !important; border-bottom: 1px solid #E5E7EB !important; border-right: 1px solid #E5E7EB !important; border-top: none !important; border-left: none !important; color: #1a1a2e !important; font-size: 15px !important; word-wrap: break-word !important; overflow-wrap: break-word !important; background: inherit !important\">Main use<\/td><td style=\"padding: 12px 16px !important; text-align: left !important; border-bottom: 1px solid #E5E7EB !important; border-right: 1px solid #E5E7EB !important; border-top: none !important; border-left: none !important; color: #1a1a2e !important; font-size: 15px !important; word-wrap: break-word !important; overflow-wrap: break-word !important; background: inherit !important\">UML modeling of workflows and system behavior<\/td><td style=\"padding: 12px 16px !important; text-align: left !important; border-bottom: 1px solid #E5E7EB !important; border-right: none !important; border-top: none !important; border-left: none !important; color: #1a1a2e !important; font-size: 15px !important; word-wrap: break-word !important; overflow-wrap: break-word !important; background: inherit !important\">General process or algorithm mapping<\/td><\/tr><tr style=\"background-color: #F5F8FF !important; background: #F5F8FF !important\"><td style=\"padding: 12px 16px !important; text-align: left !important; border-bottom: 1px solid #E5E7EB !important; border-right: 1px solid #E5E7EB !important; border-top: none !important; border-left: none !important; color: #1a1a2e !important; font-size: 15px !important; word-wrap: break-word !important; overflow-wrap: break-word !important; background: inherit !important\">Standard<\/td><td style=\"padding: 12px 16px !important; text-align: left !important; border-bottom: 1px solid #E5E7EB !important; border-right: 1px solid #E5E7EB !important; border-top: none !important; border-left: none !important; color: #1a1a2e !important; font-size: 15px !important; word-wrap: break-word !important; overflow-wrap: break-word !important; background: inherit !important\">Part of UML<\/td><td style=\"padding: 12px 16px !important; text-align: left !important; border-bottom: 1px solid #E5E7EB !important; border-right: none !important; border-top: none !important; border-left: none !important; color: #1a1a2e !important; font-size: 15px !important; word-wrap: break-word !important; overflow-wrap: break-word !important; background: inherit !important\">General diagramming convention<\/td><\/tr><tr style=\"background-color: #FFFFFF !important; background: #FFFFFF !important\"><td style=\"padding: 12px 16px !important; text-align: left !important; border-bottom: 1px solid #E5E7EB !important; border-right: 1px solid #E5E7EB !important; border-top: none !important; border-left: none !important; color: #1a1a2e !important; font-size: 15px !important; word-wrap: break-word !important; overflow-wrap: break-word !important; background: inherit !important\">Parallel tasks<\/td><td style=\"padding: 12px 16px !important; text-align: left !important; border-bottom: 1px solid #E5E7EB !important; border-right: 1px solid #E5E7EB !important; border-top: none !important; border-left: none !important; color: #1a1a2e !important; font-size: 15px !important; word-wrap: break-word !important; overflow-wrap: break-word !important; background: inherit !important\">Supports forks and joins<\/td><td style=\"padding: 12px 16px !important; text-align: left !important; border-bottom: 1px solid #E5E7EB !important; border-right: none !important; border-top: none !important; border-left: none !important; color: #1a1a2e !important; font-size: 15px !important; word-wrap: break-word !important; overflow-wrap: break-word !important; background: inherit !important\">Limited support<\/td><\/tr><tr style=\"background-color: #F5F8FF !important; background: #F5F8FF !important\"><td style=\"padding: 12px 16px !important; text-align: left !important; border-bottom: 1px solid #E5E7EB !important; border-right: 1px solid #E5E7EB !important; border-top: none !important; border-left: none !important; color: #1a1a2e !important; font-size: 15px !important; word-wrap: break-word !important; overflow-wrap: break-word !important; background: inherit !important\">Swimlanes<\/td><td style=\"padding: 12px 16px !important; text-align: left !important; border-bottom: 1px solid #E5E7EB !important; border-right: 1px solid #E5E7EB !important; border-top: none !important; border-left: none !important; color: #1a1a2e !important; font-size: 15px !important; word-wrap: break-word !important; overflow-wrap: break-word !important; background: inherit !important\">Common for responsibilities<\/td><td style=\"padding: 12px 16px !important; text-align: left !important; border-bottom: 1px solid #E5E7EB !important; border-right: none !important; border-top: none !important; border-left: none !important; color: #1a1a2e !important; font-size: 15px !important; word-wrap: break-word !important; overflow-wrap: break-word !important; background: inherit !important\">Optional and less formal<\/td><\/tr><tr style=\"background-color: #FFFFFF !important; background: #FFFFFF !important\"><td style=\"padding: 12px 16px !important; text-align: left !important; border-bottom: none !important; border-right: 1px solid #E5E7EB !important; border-top: none !important; border-left: none !important; color: #1a1a2e !important; font-size: 15px !important; word-wrap: break-word !important; overflow-wrap: break-word !important; background: inherit !important\">Best for<\/td><td style=\"padding: 12px 16px !important; text-align: left !important; border-bottom: none !important; border-right: 1px solid #E5E7EB !important; border-top: none !important; border-left: none !important; color: #1a1a2e !important; font-size: 15px !important; word-wrap: break-word !important; overflow-wrap: break-word !important; background: inherit !important\">Software workflows, use cases and business processes<\/td><td style=\"padding: 12px 16px !important; text-align: left !important; border-bottom: none !important; border-right: none !important; border-top: none !important; border-left: none !important; color: #1a1a2e !important; font-size: 15px !important; word-wrap: break-word !important; overflow-wrap: break-word !important; background: inherit !important\">Simple processes and decision flows<\/td><\/tr><\/tbody><\/table><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"faq\"><strong>Frequently asked questions about activity diagrams<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>What is an activity diagram with an example?<\/strong><\/h3>\n\n\n\n<p>An activity diagram is a UML diagram that shows the flow of actions, decisions and responsibilities in a process. A simple example is a login flow: a user enters credentials, the system validates them, and a decision node routes the process to either the dashboard or an error message depending on whether the credentials are valid.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>What is the starting point of an activity diagram?<\/strong><\/h3>\n\n\n\n<p>The starting point of an activity diagram is the initial node, shown as a solid black circle. Every activity diagram begins with exactly one initial node, which marks where the process starts before the first action takes place.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Can ChatGPT create UML activity diagrams?<\/strong><\/h3>\n\n\n\n<p>ChatGPT cannot render a diagram image directly, but it can generate the underlying code for one, typically in Mermaid or PlantUML syntax. You can paste that code into a compatible diagram tool to render the visual, then move it into a dedicated UML diagram maker for further editing and formatting.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Create your own activity diagram<\/strong><\/h2>\n\n\n\n<p>You do not need to master every UML rule before you can build a useful activity diagram. Start with one process, define where it begins and ends, and add each action in order. Bring in decisions, swimlanes, forks and joins only when they make the workflow easier to follow, not because the notation allows it.<\/p>\n\n\n\n<p>Once the flow is mapped, the diagram becomes more than a technical reference. It turns into a shared point of reference that developers, stakeholders, teams and clients can all read the same way, whether the process is a login screen, a checkout flow, a student enrollment or an internal business workflow.<\/p>\n\n\n\n<p>Use one of the examples above as a starting point, or customize a <a href=\"https:\/\/venngage.com\/templates\/diagrams\/uml-activity-diagram-49f5aac9-ae65-472e-90e4-11ed838b4533\">Venngage UML activity diagram template<\/a> to build your own.<\/p>\n\n\n\n<center><a href=\"https:\/\/infograph.venngage.com\/register\" target=\"_blank\" rel=\"noopener nofollow\"><br>\n<button class=\"btn-cta\" data-darkreader-inline-color=\"\" data-darkreader-inline-boxshadow=\"\" data-darkreader-inline-bgimage=\"\" data-darkreader-inline-bgcolor=\"\"><b>CREATE A FREE ACCOUNT<\/b><\/button><\/a><\/center>\n","protected":false},"excerpt":{"rendered":"<p>Last updated on July 2026: Reviewed for UML terminology, diagram notation and Venngage template accuracy An activity diagram is a UML diagram that shows how a process moves from one action to the next, including decisions, loops, parallel tasks and responsibilities. If UML notation feels confusing, the easiest way to learn it is through examples. [&hellip;]<\/p>\n","protected":false},"author":133,"featured_media":58480,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false},"categories":[95,608],"tags":[226,229],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v17.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<meta name=\"description\" content=\"An activity diagram outlines the flow of activities in a system. Learn what an activity diagram is, its components and how to create one.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/venngage.com\/blog\/activity-diagram\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Activity Diagram Examples: Simple UML Guide\" \/>\n<meta property=\"og:description\" content=\"An activity diagram outlines the flow of activities in a system. Learn what an activity diagram is, its components and how to create one.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/venngage.com\/blog\/activity-diagram\/\" \/>\n<meta property=\"og:site_name\" content=\"Venngage Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Venngage\" \/>\n<meta property=\"article:published_time\" content=\"2023-06-08T09:30:06+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-30T12:01:08+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2022\/04\/How-to-Create-an-Activity-Diagram-Examples.png\" \/>\n\t<meta property=\"og:image:width\" content=\"3200\" \/>\n\t<meta property=\"og:image:height\" content=\"1800\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@venngage\" \/>\n<meta name=\"twitter:site\" content=\"@venngage\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Joan Ang\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/venngage.com\/blog\/#website\",\"url\":\"https:\/\/venngage.com\/blog\/\",\"name\":\"Venngage Blog\",\"description\":\"AI Design, Infographics &amp; Visual Communication \",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/venngage.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/venngage.com\/blog\/activity-diagram\/#primaryimage\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2022\/04\/How-to-Create-an-Activity-Diagram-Examples.png\",\"contentUrl\":\"https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2022\/04\/How-to-Create-an-Activity-Diagram-Examples.png\",\"width\":3200,\"height\":1800,\"caption\":\"activity diagram\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/venngage.com\/blog\/activity-diagram\/#webpage\",\"url\":\"https:\/\/venngage.com\/blog\/activity-diagram\/\",\"name\":\"Activity Diagram Examples: Simple UML Guide\",\"isPartOf\":{\"@id\":\"https:\/\/venngage.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/venngage.com\/blog\/activity-diagram\/#primaryimage\"},\"datePublished\":\"2023-06-08T09:30:06+00:00\",\"dateModified\":\"2026-06-30T12:01:08+00:00\",\"author\":{\"@id\":\"https:\/\/venngage.com\/blog\/#\/schema\/person\/60a3488fce796dd01b58a09a074ca5ab\"},\"description\":\"An activity diagram outlines the flow of activities in a system. Learn what an activity diagram is, its components and how to create one.\",\"breadcrumb\":{\"@id\":\"https:\/\/venngage.com\/blog\/activity-diagram\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/venngage.com\/blog\/activity-diagram\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/venngage.com\/blog\/activity-diagram\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Blog\",\"item\":\"https:\/\/venngage.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Data Visualization\",\"item\":\"https:\/\/venngage.com\/blog\/category\/data-visualization\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Activity Diagram Examples: Simple UML Scenarios\"}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/venngage.com\/blog\/#\/schema\/person\/60a3488fce796dd01b58a09a074ca5ab\",\"name\":\"Joan Ang\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/venngage.com\/blog\/#personlogo\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/3c3445d3cf5716d711616721f90d5c22?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/3c3445d3cf5716d711616721f90d5c22?s=96&d=mm&r=g\",\"caption\":\"Joan Ang\"},\"url\":\"https:\/\/venngage.com\/blog\/author\/joan\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"description":"An activity diagram outlines the flow of activities in a system. Learn what an activity diagram is, its components and how to create one.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/venngage.com\/blog\/activity-diagram\/","og_locale":"en_US","og_type":"article","og_title":"Activity Diagram Examples: Simple UML Guide","og_description":"An activity diagram outlines the flow of activities in a system. Learn what an activity diagram is, its components and how to create one.","og_url":"https:\/\/venngage.com\/blog\/activity-diagram\/","og_site_name":"Venngage Blog","article_publisher":"https:\/\/www.facebook.com\/Venngage","article_published_time":"2023-06-08T09:30:06+00:00","article_modified_time":"2026-06-30T12:01:08+00:00","og_image":[{"width":3200,"height":1800,"url":"https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2022\/04\/How-to-Create-an-Activity-Diagram-Examples.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_creator":"@venngage","twitter_site":"@venngage","twitter_misc":{"Written by":"Joan Ang","Est. reading time":"11 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebSite","@id":"https:\/\/venngage.com\/blog\/#website","url":"https:\/\/venngage.com\/blog\/","name":"Venngage Blog","description":"AI Design, Infographics &amp; Visual Communication ","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/venngage.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"ImageObject","@id":"https:\/\/venngage.com\/blog\/activity-diagram\/#primaryimage","inLanguage":"en-US","url":"https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2022\/04\/How-to-Create-an-Activity-Diagram-Examples.png","contentUrl":"https:\/\/venngage-wordpress.s3.amazonaws.com\/uploads\/2022\/04\/How-to-Create-an-Activity-Diagram-Examples.png","width":3200,"height":1800,"caption":"activity diagram"},{"@type":"WebPage","@id":"https:\/\/venngage.com\/blog\/activity-diagram\/#webpage","url":"https:\/\/venngage.com\/blog\/activity-diagram\/","name":"Activity Diagram Examples: Simple UML Guide","isPartOf":{"@id":"https:\/\/venngage.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/venngage.com\/blog\/activity-diagram\/#primaryimage"},"datePublished":"2023-06-08T09:30:06+00:00","dateModified":"2026-06-30T12:01:08+00:00","author":{"@id":"https:\/\/venngage.com\/blog\/#\/schema\/person\/60a3488fce796dd01b58a09a074ca5ab"},"description":"An activity diagram outlines the flow of activities in a system. Learn what an activity diagram is, its components and how to create one.","breadcrumb":{"@id":"https:\/\/venngage.com\/blog\/activity-diagram\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/venngage.com\/blog\/activity-diagram\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/venngage.com\/blog\/activity-diagram\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog","item":"https:\/\/venngage.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Data Visualization","item":"https:\/\/venngage.com\/blog\/category\/data-visualization\/"},{"@type":"ListItem","position":3,"name":"Activity Diagram Examples: Simple UML Scenarios"}]},{"@type":"Person","@id":"https:\/\/venngage.com\/blog\/#\/schema\/person\/60a3488fce796dd01b58a09a074ca5ab","name":"Joan Ang","image":{"@type":"ImageObject","@id":"https:\/\/venngage.com\/blog\/#personlogo","inLanguage":"en-US","url":"https:\/\/secure.gravatar.com\/avatar\/3c3445d3cf5716d711616721f90d5c22?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/3c3445d3cf5716d711616721f90d5c22?s=96&d=mm&r=g","caption":"Joan Ang"},"url":"https:\/\/venngage.com\/blog\/author\/joan\/"}]}},"_links":{"self":[{"href":"https:\/\/venngage.com\/blog\/wp-json\/wp\/v2\/posts\/58458"}],"collection":[{"href":"https:\/\/venngage.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/venngage.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/venngage.com\/blog\/wp-json\/wp\/v2\/users\/133"}],"replies":[{"embeddable":true,"href":"https:\/\/venngage.com\/blog\/wp-json\/wp\/v2\/comments?post=58458"}],"version-history":[{"count":59,"href":"https:\/\/venngage.com\/blog\/wp-json\/wp\/v2\/posts\/58458\/revisions"}],"predecessor-version":[{"id":113482,"href":"https:\/\/venngage.com\/blog\/wp-json\/wp\/v2\/posts\/58458\/revisions\/113482"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/venngage.com\/blog\/wp-json\/wp\/v2\/media\/58480"}],"wp:attachment":[{"href":"https:\/\/venngage.com\/blog\/wp-json\/wp\/v2\/media?parent=58458"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/venngage.com\/blog\/wp-json\/wp\/v2\/categories?post=58458"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/venngage.com\/blog\/wp-json\/wp\/v2\/tags?post=58458"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}