Web3 Development

Solc SelectManage Solidity Compiler Versions on Windows

Free, open-source command-line tool to install and switch between Solidity compiler versions on Windows, macOS and Linux.

Free Open source Windows: Likely v1.2.0 Updated 30 Mar 2026
7 min read Last update 30 Mar 2026 github.com/crytic/solc-select

Solc Select is a free, open-source command-line tool for developers who write smart contracts in Solidity. It lets you install several versions of the Solidity compiler (solc) side by side and switch between them with a single command. It is aimed at Web3 developers who work on projects that pin different compiler versions.

Many Solidity projects target a specific compiler release, and older contracts often will not compile cleanly with newer ones. Instead of manually downloading and replacing binaries, Solc Select handles installation and selection for you. The tool is written in Python and is available on Windows, macOS and Linux.

02

What Is a Solidity Compiler Manager?

Solidity code is compiled into bytecode that runs on the Ethereum Virtual Machine and other compatible chains. The compiler, usually called solc, changes between releases, and each release can alter how code is optimized, which language features are accepted and how warnings are reported.

A compiler manager sits between your project and these binaries. It downloads the releases you need, stores them locally and points your tooling at the right one. Solc Select is a focused example of this approach: it does one job and leaves the rest of your development environment alone.

03

Who Benefits Most From Switching Compiler Versions?

Developers maintaining older contracts are the clearest use case. A contract deployed several years ago may depend on a compiler release that newer toolchains no longer default to, and recompiling it with the latest version can change its bytecode.

  • Auditors who need to reproduce a deployed contract exactly.
  • Teams maintaining multiple repositories with different pragma requirements.
  • Developers testing whether a contract behaves the same across compiler releases.
  • Educators and students following tutorials written for specific Solidity versions.
04

Why Pinning the Compiler Matters

Reproducible builds depend on using the same compiler version every time. If a project's pragma allows a range of versions, the exact release used for a deployment should be recorded, so that anyone can rebuild the same bytecode later.

A version switcher makes this practical. Instead of relying on whatever solc happens to be installed globally, you can select the version a project expects before compiling. This small habit reduces surprises during audits and redeployments.

05

How Solc Select Fits Into a Typical Workflow

Solc Select usually sits alongside a framework or editor rather than replacing one. A developer might use it to set the compiler, then run a build tool such as Foundry or Hardhat, or compile directly from the terminal while testing a single file.

Because it is a command-line program, it is easy to script. A project can include a setup step that installs the required solc version automatically, so every contributor starts with the same environment.

06

Understanding Platform Notes for Mac Users

Although this page focuses on Windows, the project documentation notes that some compiler releases behave differently across hardware. Older solc releases on Apple silicon require Rosetta, while newer releases run natively on ARM64 or ship as universal binaries.

If you work across machines, it is worth checking which compiler builds your team depends on. Mixed hardware can produce subtle differences in toolchain behavior even when the Solidity version number matches.

07

Key features

Multiple compiler versions

Install more than one solc release on the same machine and keep them all available. This removes the need to reinstall the compiler whenever a project changes its target version.

Quick version switching

Select the active compiler with a short command. Switching between projects that rely on different Solidity releases takes seconds rather than a manual download.

Python-based installation

The tool is distributed as a Python package, so it fits naturally into existing Python-based workflows and can be installed and upgraded with standard Python tooling.

Cross-platform support

The project is listed for Windows, macOS and Linux, which helps teams that work across different operating systems keep consistent compiler setups.
08

How to install Solc Select on Windows

  1. 1

    Check your Python installation

    Solc Select is a Python tool, so Python must be installed first. Open a terminal and confirm that Python and pip are available. Keeping Python reasonably current helps avoid compatibility problems.

  2. 2

    Install or upgrade the package

    Install Solc Select with pip. If you already have it, upgrade to the current release. The project's guidance notes that an older installation or Python version can cause errors, and upgrading usually resolves them.

  3. 3

    Download the official package

    Get the software from the project's GitHub repository or from the Python Package Index through pip. Avoid copying binaries from unofficial mirrors or forum posts.

  4. Verify the installation

    Run the help command to confirm the tool is working, then install a compiler version and check that it reports the expected release number.

09

System requirements

  • Python installed on Windows, with pip available from the command line
  • Internet access to download compiler releases
10

How to use Solc Select

Solc Select works from the terminal. The basic workflow is to install the compiler versions your projects need, then choose which one is active before you compile. Exact command syntax can change between releases, so check the help output of your installed version.

  1. Open a terminal such as PowerShell or Command Prompt.
  2. List the compiler versions available to install.
  3. Install the specific solc version your project requires.
  4. Select that version as the active compiler.
  5. Confirm the active version before compiling, so you know which release will be used.
  6. Compile your contracts as usual with your build tool.
  7. Switch to a different version when you move to another project.
11

Pros & cons

Pros
  • Free and open source, with the code publicly available on GitHub
  • Simple command-line workflow that is easy to script
  • Keeps several compiler versions available without manual downloads
  • Cross-platform, so the same approach works across operating systems
  • Helpful for reproducing builds of older contracts
Cons
  • Command-line only, with no graphical interface
  • Requires basic comfort with Python and the terminal
  • Only useful if your work depends on multiple compiler versions
  • Some compiler releases have platform-specific requirements, such as Rosetta on Apple silicon
12

Is Solc Select safe?

Download Solc Select only from the official GitHub repository or the Python Package Index, and avoid copies from third-party sites. Where the project publishes checksums or signatures for its releases, verify them before use. Compiler binaries are executed on your machine, so treat unofficial downloads as a real risk to your system and your source code.

The tool itself does not handle wallets, private keys or funds, but the compilers it installs produce code that will eventually control real assets. Never paste a seed phrase or private key into any tool or website while working with contracts. Check the latest version on the official repository before installing, since the project receives periodic updates.

  • Official source only. Download from github.com/crytic/solc-select. 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.
13

Alternatives

Solc Select is narrower than most tools in this catalog. Remix Desktop is a full IDE with a graphical interface, while Visual Studio Code with a Solidity extension is a general editor with language support. Foundry is a complete development framework that includes its own compiler handling alongside testing and deployment tools.

If you only need to switch Solidity compiler versions reliably, Solc Select does that job without extra features. If you want a complete environment, one of the broader tools is a better fit, and Solc Select can still complement it.

14

Specifications

Price
Free
Type
Open source
License
—
Latest version
v.1.2.0
Last update
30 Mar 2026
Windows support
Likely (builds for Windows; check releases)
Source code
github.com/crytic/solc-select
15

Frequently asked questions

Yes. Solc Select is listed as free and open source, and its code is publicly available on GitHub. You can use it without a license purchase or subscription.

The project supports Windows along with macOS and Linux. Installation is done through Python, so you need Python and pip on your system before you begin.

It lets you install and switch between different versions of the Solidity compiler quickly. This is useful when projects target different compiler releases or when you need to reproduce a build from an older contract.

No. Solc Select is a command-line tool, so all actions are performed in a terminal. If you prefer a visual environment, you can pair it with an editor or IDE that supports Solidity.

Older contracts often depend on the behavior of a specific compiler release. Recompiling them with a newer version can produce different bytecode, so keeping the original version available helps with audits and redeployments.

It is safe when downloaded from the official repository or the Python Package Index. Avoid unofficial sources and verify checksums where the project provides them.

Yes, it can be used alongside development frameworks. Use it to choose the compiler version, then run your framework's build commands as normal.

16

Verdict

Solc Select is a practical choice for Solidity developers who regularly work with more than one compiler release. It is free, open source and simple to script, but it has no graphical interface and is only useful when version management is a real need. If your projects target a single compiler version, you may not need it. Before installing, check the latest release notes on the official repository.

Download now