Sol2uml is a free, open-source command-line tool that turns Solidity smart contracts into UML class diagrams. It is built for Ethereum developers, smart contract auditors and anyone who needs to understand how a large contract codebase fits together without reading every file line by line. Sol2uml for Windows is a practical choice for developers who work on Windows machines, and Windows builds are published on the releases page, so check there for the current file before you start.
The project is actively maintained. The latest release is v2.5.27, and the code was last updated on July 6, 2026, so it is current rather than abandoned. Because it is free and open source, it fits easily into a review workflow, whether you are preparing a contract for an audit, onboarding a new teammate or documenting an existing protocol.
What Is Sol2uml and Who Is It For?
Sol2uml belongs to the Web3 development category, and its core job is to make Solidity code easier to visualize. A smart contract project can grow into dozens of files with interfaces, abstract base contracts and libraries. Reading that code linearly is slow, and it is easy to miss how one contract depends on another.
The tool is most useful for three groups of people. Solidity developers use it to explore an unfamiliar codebase or to document their own architecture. Security reviewers use it to get a quick structural overview before reading the logic in detail. Team leads and technical writers use the diagrams as a shared reference in design reviews and onboarding material.
You do not need to be an expert in UML to benefit from it. A class diagram only shows classes, their members and the links between them, which is enough to answer common questions such as which contract inherits from which, or where a shared library is used.
Reading UML Class Diagrams of Solidity Contracts
A UML class diagram is a standard way to describe the structure of object-oriented code. Solidity is not a classical object-oriented language, but its contracts map well onto the same ideas: contracts behave like classes, inheritance connects parent and child contracts, and interfaces define the functions that other contracts must implement.
When you open a diagram generated from a project, start with the contracts that have the most connections. They usually hold the core logic, and their neighbors show which external pieces they rely on. Then look at the inheritance arrows, because a deep inheritance chain is often where unexpected behavior hides.
Diagrams also help you notice naming patterns. If several contracts share a similar set of functions, that can point to a missing abstraction or to duplicated logic that should be refactored. The picture will not replace reading the code, but it tells you where to read first.
Why Storage Layout Matters for Upgradeable Contracts
Every state variable in a Solidity contract is assigned to a storage slot. When developers deploy an upgradeable contract, they need the storage layout of the new version to stay compatible with the old one. Adding, removing or reordering variables can silently shift the data stored in each slot, which may corrupt balances or permissions.
A storage layout diagram makes this visible. Instead of comparing raw compiler output by eye, you can see the order of variables and how they are packed into slots. Teams often generate the layout before and after a change and review the two side by side.
This matters most for teams managing contracts that hold user funds. A layout review is one check among many, so it should sit alongside tests and a formal audit. Used that way, a storage view becomes one more line of defense against a costly upgrade mistake.
Key features
UML class diagrams for Solidity
Contract storage layout diagrams
Flattening verified contracts
Diffing contracts from explorers
Supported coins
Sol2uml works with Solidity contracts, and the networks it is documented to support include Ethereum (ETH), Avalanche (AVAX), Polygon, Arbitrum and Optimism. Token contracts that follow the ERC-20 standard, including USDC, are common examples of the code you might analyze. The tool does not hold, send or manage any coins itself; it only reads contract source code.
How to install Sol2uml on Windows
- 1
Check Windows availability on the releases page
Start at the project's GitHub repository and open the Releases page. The project lists Windows builds there, so confirm that the current version includes a file for your system before you download anything. Note the latest version, which is v2.5.27 at the time of writing.
- 2
Download only from the official website or GitHub
Download only from the official website or the project's GitHub repository. Avoid mirrors, file-sharing sites and links posted in forums or chat groups, because they can be repackaged with malicious code. Official project pages are the only source you should trust for a developer tool.
- 3
Verify the file before running it
If the release page publishes a SHA-256 checksum or a signature for the file, compare it with your download using a checksum tool in Windows PowerShell. For example, run Get-FileHash with the SHA256 algorithm on the file and compare the output with the published value. If the values do not match, delete the file and download it again.
-
Install and confirm the command runs
Follow the installation instructions in the project README for your chosen build. After installation, open a terminal and run the sol2uml command with the help flag to confirm it starts and lists its options. If the command is not found, check that the install folder is on your PATH environment variable.
How to use Sol2uml
Sol2uml is run from a terminal, so the workflow is quick once you know the command pattern. The general usage follows the form sol2uml class followed by options and the path to a file or folder. Here is a simple way to start with a project you already have locally.
- Open a terminal in the folder that holds your Solidity project, or note the full path to the contracts folder.
- Run the class command with the path to your contracts folder to generate a UML class diagram of the project.
- Review the output and identify the core contracts with the most connections, then follow their inheritance links.
- For upgradeable contracts, generate a storage layout view before and after your change, and compare the two results.
- To compare deployed code, flatten or diff the verified contract from an Etherscan-like explorer, and use the lineBuffer option (-l) to set how many unchanged lines appear before and after each change; the default is 4.
Start with a small project so you can check the output format before analyzing a larger codebase. Keep a copy of the generated files with your project notes so reviewers can compare results across versions.
Pros & cons
- Free and open source, with no license fee to pay
- Covers UML class diagrams, storage layout views, flattening and diffing in one tool
- Recently updated, with the latest code change dated July 6, 2026
- Helpful for onboarding and for explaining contract structure to non-developers
- Works with Solidity code from several EVM networks, including Ethereum, Polygon, Arbitrum and Optimism
- Command-line interface, so it has a learning curve for users who prefer graphical tools
- Windows support is listed as likely rather than guaranteed, so you should confirm it on the releases page
- Focused on Solidity, so it does not help with other smart contract languages
- Diagrams for very large projects can become dense and need manual filtering to read
Is Sol2uml safe?
Sol2uml is an analysis tool, so it does not need a wallet, private keys or a seed phrase. Even so, treat it like any downloaded program. Get it only from the official GitHub repository or the project's release page, and avoid copies from third-party sites. Compare the file against a SHA-256 checksum or verify its signature when the project provides one.
Run the tool on code you already have access to, and keep your own private keys and deployment credentials out of the project folder. The latest code update is dated July 6, 2026, which means the project is maintained, but you should still check the latest version on the official website before installing an update.
- Official source only. Download from github.com/naddison36/sol2uml. Ignore ads and lookalike domains.
- Check the SHA-256. Compare the installer hash with the value the developer publishes before running it.
- Never share your seed phrase. No developer, support agent or website — including CryptApps — will ever ask for it.
Alternatives
Sol2uml is narrower than most of the tools in this group, and that is its strength. It does one thing well: it turns Solidity code into visual diagrams and helps you review storage and contract differences. Foundry is a broader toolkit that includes forge, cast and anvil for building, testing and running contracts locally, so many developers use both. The Solidity compiler, solc, produces the bytecode and metadata that sit underneath any analysis tool.
EthereumStudio takes a different approach as a standalone desktop IDE, which suits developers who want to write and edit contracts in one place. Anchor is a framework for Solana programs, so it solves a different problem on a different chain. If you need a visual overview of existing Solidity code, Sol2uml is the more direct choice; if you need to write or deploy contracts, pair it with a development toolkit.
Specifications
- Price
- Free
- Type
- Open source
- License
- —
- Latest version
- v2.5.27
- Last update
- 6 Jul 2026
- Windows support
- Likely (builds for Windows; check releases)
- Source code
- github.com/naddison36/sol2uml
Frequently asked questions
Yes, Sol2uml is free and open source. You can download it from the official GitHub repository and use it without a license fee. Because it is open source, you can also read the code to see how it works before you rely on it for a review.
Windows builds are published on the project's Releases page, so Sol2uml can be used on Windows. Check the release notes for the current version before downloading, since Windows support is listed as likely rather than guaranteed. Run the help command after installation to confirm the tool starts correctly on your system.
Sol2uml generates UML class diagrams that show contracts and their relationships, as well as contract storage layout diagrams. It can also flatten Solidity files from Etherscan-like explorers into a local file and diff contracts from those explorers. These outputs help you read and review code without tracing every file by hand.
Sol2uml is documented to work with Solidity contracts on Ethereum, Avalanche, Polygon, Arbitrum and Optimism. It also handles ERC-20 token contracts, including USDC. It reads source code and does not move or manage funds, so network support refers to the contracts it can analyze.
No, Sol2uml is designed to read and visualize contract code, not to deploy or modify it. It generates diagrams, storage layouts and comparisons from source files. You still need a separate development toolkit to compile, test or deploy contracts on a network.
Foundry is a toolkit for building, testing and running Solidity contracts, with forge, cast and anvil. Sol2uml focuses on visualization and review, producing UML diagrams and storage layouts. Many teams use Foundry for daily development and Sol2uml for documentation and audit preparation.
Sol2uml is a read-based analysis tool, so it does not need your private keys or seed phrase. Download it only from the official GitHub repository and verify the file's checksum or signature when available. Keep deployment credentials separate from the project folder you analyze.
Verdict
Sol2uml is a good fit for Solidity developers, auditors and technical leads who need a clear picture of how a contract codebase is structured. It is free, open source and recently maintained, and its diagrams for inheritance, storage layouts, flattening and diffing cover real review tasks. It is less suited to people who want a graphical interface or who work mainly with other languages. If you plan to use it on Windows, confirm the current build on the releases page first.