What is a sequence diagram?

Explore more from
Team productivity

Designing a login flow or checkout process means thinking through every interaction—click, input, response, and error. To create a smooth experience across devices, you need a clear map of what happens, in what order, and between which systems. That’s where sequence diagrams come in.
Read on to learn:
- What sequence diagrams are and when to use them
- The benefits of sequence diagrams
- Basic symbols and components of sequence diagrams
- How to create a sequence diagram with examples
- Sequence diagram best practices
What is a sequence diagram?
A sequence diagram is a type of UML (Unified Modeling Language) diagram that maps out how users and systems interact over time. It’s commonly used in interaction design and human-computer interaction studies to show what happens, when, and between which parts of a system.
For example, imagine you’re designing the login flow for a social media app. Users can log in with their email address and password or through other social media accounts.
A sequence diagram visualizes how the app talks to the user’s device (storing login credentials), the app’s server (verifying login details), and potentially external authentication services (like Facebook) to log the user in successfully. Time flows from top to bottom, making the full process easy to follow.
This visualization helps software developers and UX designers understand how everything connects. They reveal potential pain points (e.g., what happens when a password is wrong), clarify system requirements, and provide teams with a shared language for planning flows.

Four benefits of a sequence diagram
At their core, sequence diagrams help you map the flow of messages between different parts of a system. That’s valuable on its own—but the benefits go deeper:
- Clarify how things actually work. Diagrams make it easier to see how different parts of a system interact. By laying out each step in order, teams can spot gaps, catch logic issues, and align on how things are meant to function.
- Turn abstract ideas into something concrete. Sequence diagrams show what should happen, when it should happen, and how it should happen. They capture timing, order, and communication, so designers and developers can translate user flows into actual logic.
- Spot breakdowns early. Sequence diagrams can help identify potential errors in the system by highlighting miscommunications or unexpected interactions between objects, catching issues within the user flow. Catching these before coding saves time and frustration later.
- Create a shared understanding. Sequence diagrams give cross-functional teams—designers, developers, PMs, and other stakeholders—a common way to walk through flows, raise questions, and agree on changes.
Sequence diagram symbols and components
Sequence diagrams use a specific set of symbols to represent elements involved in an interaction. Here’s a breakdown of the key components:
- Object: a component within the system itself, also known as a lifeline (database, server component)
- Actor: an external entity (user, external system) that interacts with the modeled system
- Activation: a rectangular bar on a lifeline that shows the period when an object is actively involved in the interaction; the longer the bar is, the longer the object is active in that phase
- Messages: a horizontal arrow connecting lifelines, representing the information exchanged between objects—different types of messages include synchronous, asynchronous, and return
- Destroy: an X symbol on a lifeline, indicating the object is no longer part of the scenario
- Boundary: a circle representing a layer that controls how external users or systems (like other apps) interact with the main modeled system
- Control: a circular arrow representing a part of the system that manages the flow of messages and coordinates how different objects within the system work together
- Fragments: show logic that branches, repeats, or only runs under certain conditions. They're useful when your flow isn’t totally linear.
- Loops: show a message or set of actions that repeat until a condition is met—like retrying a failed login or polling a service for updates
- Opt (optional): show steps that only happen if a condition is true. Think: showing a discount only if a user is logged in
- Alt (alternative): lay out multiple possible outcomes, where only one path runs. For example: If payment is approved, confirm the order; if declined, prompt for another method

How to make a sequence diagram
Ready to create your own sequence diagram? To get started, follow these four steps, including tips on how to make your own using FigJam.
Need to visualize your process?
See how every component of your process fits together with FigJam’s sequence diagram template.
Step 1: Identify the scenario
Start by defining the scenario you want to depict in the diagram. Is it a user logging in, placing an order, or browsing a product catalog?
How to do it with FigJam: To begin diagramming, open a blank whiteboard or use the sequence diagram template.
Step 2: Identify the objects and actors involved
Every sequence diagram includes a mix of people, systems, and tools that interact during the scenario. These are your actors (usually users or external systems) and objects (components of the system like apps, servers, or databases).
Say you’re mapping the flow of someone ordering pizza online. The participants might look like this:
- Actor: the customer placing the order
- Object 1: the web browser they use to order the pizza
- Object 2: the order processing system that handles the order
- Object 3: the database storing menu items, user details, etc.
Objects involved in a sequence diagram are arranged from left to right, and events/sequences progress from the top down. Place all the components, including actors and objects, horizontally across the top of the diagram. Each component represents a lifeline, showing its involvement throughout the scenario.
How to do it with FigJam: To add your objects to your sequence diagram, click the rectangle shape to select the tool, then click a spot to add. You can also drag the rectangle straight onto the board.

Step 3: Draw the message flow
Use arrows to represent messages exchanged between components. To show the sequence of messages, place arrows and activation bars (which highlight when a component is active) appropriately.
When mapping a message flow, there are three types to use:
- Synchronous messages (solid arrows). The sender pauses and waits for a response before moving on, like asking a question and waiting for an answer before continuing the conversation.
- Asynchronous messages (dashed arrows). The sender sends the message and keeps going without waiting for a response. Think of sending an email or notification—you don’t stop what you’re doing just because it's been sent.
- Return messages. These show a response coming back, usually after a synchronous message—like receiving a confirmation or result.
How to do it with FigJam: In the toolbar, click the connector or straight line shape. Click and drag your cursor between the objects you want to connect.

Step 4. Refine and document
Double-check the flow of messages and ensure they align with the scenario you defined. Are there any missing steps or inconsistencies? If you made any assumptions while creating the diagram, document them for future reference.
Sequence diagrams are excellent communication tools. Share your diagram with team members to ensure everyone is aligned on the interaction flow.
How to do it with FigJam: Share your sequence file with others with a unique URL or by sending a direct invitation via email.
Sequence diagram examples
For a better idea of what the steps look like in action, check out these sequence diagram examples.
Logging into a system
Imagine a user entering their username and password to access Gmail. In this example, the sequence diagram shows how the user interface (UI) interacts with the authentication server (checking credentials) and the database (fetching user information). Visualizing these interactions allows developers to:
- Confirm correct information flow. Is the username and password securely sent to the authentication server?
- Handle errors. How does the system handle incorrect passwords or server overloads?
- Provide a smooth user experience. Is the user redirected to the inbox quickly after a successful login?
This allows developers to refine the login process before coding begins, leading to a smoother and more secure user experience.

Placing an order
Sequence diagrams can help visualize the process of placing an online order, such as on Amazon. Imagine a user adding an item to their cart and proceeding to checkout. The sequence diagram shows how the user interface interacts with the order processing system, which might look like this:
- The system checks the shopping cart for items.
- It verifies item availability in the product database.
- It communicates with the payment gateway to process payment information.
By visualizing these interactions, developers can identify potential issues early:
- Are steps missing, like confirming order details before payment?
- What happens if the item is out of stock after being added to the cart?
- How does the system handle potential payment gateway errors?
Using a sequence diagram ensures an efficient order placement process for e-commerce website users.

Sequence diagram best practices
Creating a sequence diagram is about clearly showing how a process works, step by step. These tips can help you build diagrams that are easier to understand and collaborate on.
- Start with a single, specific scenario. Before you begin diagramming, define the exact interaction you’re mapping. A focused use case helps you keep things simple and relevant.
- Include all the key players. Missing participants create gaps in understanding. Add lifelines for all system components, external actors, and objects involved.
- Label messages clearly. Instead of generic labels like “process,” use precise names like “validate password” or “send confirmation email.”
- Show activation periods. Use activation bars to indicate when a system or user is doing something. This makes the timing and flow easier to follow..
- Keep diagrams clean and uncluttered. Stick to the messages and flows. Too many arrows and conditions can overwhelm viewers, especially in early drafts.
- Document assumptions. If you leave out steps, simplify the logic, or make educated guesses, call it out. A quick note helps others understand the scope and avoid confusion.
- Review with others. Before moving on, walk through the diagram with teammates. A second set of eyes can catch edge cases, missing error flows, or parts that need clarification.
By following these best practices, your sequence diagrams can communicate complex interactions clearly and serve as a practical collaboration tool throughout your software design, development, and user experience processes.
Sequence diagram FAQ
Keep reading for answers to frequently asked questions about sequence diagrams.
What is the purpose of a sequence diagram?
A sequence diagram shows how different parts of a system interact step by step during a specific scenario. It helps teams understand the flow of events, surface potential issues, and stay aligned on what happens when.
What’s the difference between a sequence diagram and a flowchart?
A sequence diagram maps the order of messages exchanged between users and system components over time. Flowcharts, by contrast, outline decision points and process steps without showing the timing or message flow between elements.
How do sequence diagrams differ from communication diagrams?
Both diagram types show how objects interact but they emphasize different things. A sequence diagram focuses on timing and the order of messages (top to bottom). A communication diagram shows how objects are connected and what they exchange, but with less focus on message order.
Can sequence diagrams show loops or “if” conditions?
Yes, loops and conditional paths can be represented in a sequence diagram using special notations. For example, you can use a loop marker to show repeated messages, or a conditional guard to indicate alternate flows.
Why use sequence diagrams for UX or product design?
Sequence diagrams help UX and product teams map user flows— like logging in or checking out—to spot gaps, clarify interactions, and improve the experience before any code is written.
How can sequence diagrams improve software development?
Sequence diagrams give developers a clear picture of how components interact, making it easier to catch design issues early. They also improve team collaboration and serve as helpful blueprints for testing, debugging, and maintaining the system later on.
Visualize your sequence from start to finish with FigJam
A sequence diagram answers the questions, “Who talks to whom, and in what order, to make something happen?” This adds considerable clarity to your interaction design process.
FigJam offers software developers and UX designers an easy way to collaborate on designing and refining user interaction processes. Here's how FigJam can help you create engaging sequence diagrams and improve team communication:
- Get a head start with a sequence diagram template.
- Encourage real-time feedback and ideation with FigJam’s shared online whiteboard.
- Get inspired by these sequence diagram examples from the Figma Community to spark new ideas and enhance your own designs.
Ready to unlock the power of sequence diagrams?
See how every step of your process design works together with FigJam’s sequence diagramming tools.
Keep reading

What is a context diagram?
Learn how to create context diagrams, their purpose, key elements, common use cases, and why they’re an effective communication tool.

How to draw a data flow diagram in 5 simple steps
A data flow diagram explains how system inputs trigger processes and create outputs. Learn how you can use these charts to improve systems and experiences.
