Best tools to create software architecture diagrams

There are many tools to create architecture diagrams. In this post, I'll discuss free and paid tools. Some examples are excalidraw, draw.io, lucid.app

Best tools to create software architecture diagrams

As software engineers, our day-to-day work involves creating diagrams to explain the thought process. These diagrams include software architecture, database design & UML diagrams. In this post, I'll discuss different tools available to draw these diagrams.

Software Architecture Diagram Tools

Excalidraw

excalidraw.com is one of the emerging tools that started as an open-source. The best part of it is we can use it to collaborate with other people easily.

Pros

  1. Open-source
  2. Lot of shapes, tools available and highly customizable
  3. Easily import and export drawings
  4. Lot of libraries available
  5. Able to collaborate with others easily

Cons

  1. You need excalidraw+ (paid subscription) to save the drawings in the cloud
  2. To save a diagram, you need to export the .excalidraw file and save it by yourself

Adding extra shapes

Go to Excalidraw Libraries and just click on "Add to Excalidraw" on any libraries you like.

Here are a few must-have libraries I use.

System Design Components

Software Architecture

Software Logos

Database

Cloud Icons

AWS Icons

Once you added them, click on the library icon and start using them (illustrated with the image below)

SCR-20220407-cwu.png

Live Collaboration

Step 1

Click on the library icon to browse

SCR-20220407-d45.png

Step 2

Drag and drop any icon to start using it

SCR-20220407-d59.png

Diagrams.net

Diagrams.net (formerly known as Draw.io) has a lot of features that many people are unaware of. I used to think it has only very basic shapes, but after I spent some time and explored, found that there are so many shapes available.

Pros

  1. Free to use
  2. Lot of shapes available
  3. Easily connect with google drive and any cloud storage to backup
  4. Collaborate with others (requires google drive or one drive account)

Cons

Nothing as of now

Adding extra shapes

Step 1

Click on "More Shapes"

SCR-20220406-mmk.png

Step 2

Browse the shapes and drag-and-drop

SCR-20220407-kfw.png

Lucid

Lucid.app is an ecosystem of multiple applications such as lucid chart and lucid spark for visual communication. They aimed at enterprises with paid plans, but they also have a freemium model with limited features. You can see their pricing here

Pros

  1. Lot of shapes and tools available
  2. Ease of diagramming

Cons

  1. Not free, most of the features require paid subscription

Adding extra shapes

Step 1

After logging in, create a new Lucidchart document

SCR-20220407-ks4.png

Step 2

Search for a shape and add it to the diagram

SCR-20220407-ku8.png

Diagrams as a code

If you like to represent diagrams using code, then there are tools like Mingrammer.

Pros

  1. Huge availability of tools including on-premise, AWS etc...
  2. Easily draw diagrams
  3. Open-source

Cons

  1. Learing curve
  2. Supports only python3

There are some examples given here - https://diagrams.mingrammer.com/docs/getting-started/examples

Did you find this article valuable?

Support Lokesh Sanapalli by becoming a sponsor. Any amount is appreciated!