
lego
lego is a free, open-source ACME client and Go library for obtaining, renewing and revoking certificates.
What lego is
lego is a free, open-source ACME client and Go library for obtaining, renewing and revoking certificates. It supports wildcard and SAN certificates, with validation options including DNS-01, HTTP-01, TLS-ALPN-01 and DNS-PERSIST-01. It works with multiple ACME servers, including Let’s Encrypt and ZeroSSL, and supports more than 200 DNS providers. Listed integrations include Cloudflare, Amazon Route 53, Google Cloud DNS and Azure DNS; CNAME support is enabled by default. Users can run it from the command line or use it as a Go library. DNS provider credentials and settings are supplied through environment variables, with support for file references and dotenv files. Installation options include prebuilt binaries, Docker, package managers and building from source. The maintainers maintain the AUR and Snap packages, while other listed packages are community maintained. The project lists support for ACME RFC 8555 and related certificate validation and renewal extensions. It is licensed under MIT, and source installation requires Go 1.25 or later.
Good
- Obtains, renews and revokes certificates
- Supports wildcard and SAN certificates
- Offers command-line and Go library use
- Supports more than 200 DNS providers
Watch out
- Building from source requires Go 1.25 or later
- Many listed packages are community maintained
Who it suits
lego suits developers and operators who need certificate issuance and renewal through an ACME client, either from the command line or Go code. Its DNS provider support may fit users whose validation depends on DNS challenges.
Verdict
lego offers several certificate challenge methods, ACME servers and installation routes in a free, open-source tool. Check its documented provider and package options against your setup.
Plans and prices
From lego's own pricing page, checked 11 Oct 2026.
| Plan | Price | What it gives you |
|---|---|---|
| Free and open-source | Free | Independent project; no paid plans stated |
The facts
Each one read from lego's own pages, with the date it was checked.
What it does
- ACME servers
- It supports multiple ACME servers, including Let’s Encrypt and ZeroSSL.checked 11 Oct 2026
- Certificate authorities
- It supports multiple ACME servers, including Let’s Encrypt and ZeroSSL.checked 11 Oct 2026
- Certificate management
- It can obtain, renew, and revoke certificates.checked 11 Oct 2026
- Certificate operations
- It can obtain, renew, and revoke certificates, including wildcard and SAN certificates.checked 11 Oct 2026
- Certificate types
- It supports wildcard and SAN certificates.checked 11 Oct 2026
- Challenge methods
- Supported validation challenges include DNS-01, HTTP-01, TLS-ALPN-01, and DNS-PERSIST-01.checked 11 Oct 2026
- Challenges
- It supports DNS-01, HTTP-01, TLS-ALPN-01, and DNS-PERSIST-01 challenges.checked 11 Oct 2026
- CNAME
- CNAME is supported by default.checked 11 Oct 2026
- Credential configuration
- DNS provider credentials and configuration are passed through environment variables, including values loaded from files or dotenv files.checked 11 Oct 2026
- Distribution
- The project provides binaries for operating systems and architectures, a Docker image, and installation instructions for several package managers.checked 11 Oct 2026
- DNS credentials
- DNS provider credentials and configuration are passed through environment variables, with support for file references and dotenv files.checked 11 Oct 2026
- DNS integrations
- The project says it supports more than 200 DNS providers, with a provider list in its documentation.checked 11 Oct 2026
- DNS providers
- The project says it comes with support for more than 200 DNS providers.checked 11 Oct 2026
- Go library
- lego can be used as a Go library as well as a command-line client.checked 11 Oct 2026
- Install options
- The project documents prebuilt binaries, Docker, package managers, and installation from source.checked 11 Oct 2026
- License
- The GitHub repository lists the project under the MIT license.checked 11 Oct 2026
- Package maintenance
- The maintainers maintain the AUR and Snap packages; other listed packages are community maintained.checked 11 Oct 2026
- Provider integrations
- Listed DNS integrations include Cloudflare, Amazon Route 53, Google Cloud DNS, and Azure DNS.checked 11 Oct 2026
- Purpose
- lego is an ACME client and library written in Go for obtaining and renewing certificates.checked 11 Oct 2026
- Security standard
- The project lists support for ACME RFC 8555 and several certificate validation and renewal extensions.checked 11 Oct 2026
- Source requirement
- Installing from source requires Go 1.25 or later.checked 11 Oct 2026
- Support
- The project links to GitHub issues and discussions for help and community participation.checked 11 Oct 2026
- Ways to use
- lego can be used as a command-line interface or as a Go library.checked 11 Oct 2026
Money
- License and cost
- The project describes itself as independent, free, and open source.checked 11 Oct 2026
The full review of lego
lego is a free, open-source ACME client and Go library for issuing and maintaining TLS certificates. It is best suited to developers and infrastructure operators who prefer command-line or embedded automation over a graphical certificate console. The broad provider and challenge support makes it adaptable, provided you are comfortable managing configuration and credentials yourself.
Overview
lego covers the core certificate lifecycle: obtaining, renewing, and revoking certificates, with support for wildcard and SAN certificates. Automatic renewal and deployment automation make it suitable for recurring production operations rather than one-off certificate requests. Revocation workflows add a practical control when a key or certificate must be withdrawn.
The project is independent, free, and released under the MIT license. There are no paid tiers or trial terms to weigh, so cost is not a barrier; the trade-off is that administration, integration, and support remain primarily the operator's responsibility.
Key features
Flexible ACME validation
DNS-01, HTTP-01, TLS-ALPN-01, and DNS-PERSIST-01 challenges cover substantially different network and DNS arrangements. DNS-01 enables wildcard issuance, while HTTP-01 and TLS-ALPN-01 can fit environments where DNS automation is undesirable. This choice is valuable for mixed infrastructure, but each method still requires correct domain, firewall, and provider configuration.
Multiple authorities and providers
lego works with multiple ACME servers, including Let’s Encrypt and ZeroSSL, so teams can select an authority that matches their policy or deployment. More than 200 DNS integrations include Cloudflare, Amazon Route 53, Google Cloud DNS, and Azure DNS. CNAME support is enabled by default, which helps when validation DNS is delegated. The breadth reduces the need for custom integration, although provider credentials and permissions must be maintained by your team.
Automation and integration
Use lego as a command-line client for scripts and scheduled jobs, or embed it as a Go library in a larger service. Credentials and provider settings are passed through environment variables, with values supportable from files or dotenv files. That approach fits containers and CI pipelines, but it puts secret storage, rotation, and accidental exposure firmly in the deployment design.
Standards and distribution
The project lists support for ACME RFC 8555 and several certificate validation and renewal extensions. Prebuilt binaries cover operating systems and architectures, and a Docker image is provided. Installation instructions also cover package managers and source builds. Maintainers maintain the AUR and Snap packages; other package listings are community maintained, so update cadence can differ by channel. Building from source requires Go 1.25 or later.
Pricing
| Plan | Price | What it includes |
|---|---|---|
| Free and open-source | free | Independent project with the full lego client and library; no paid plans stated |
There is no free trial because the software is permanently free, and no published seat, quota, or renewal fee. This is the right fit for individuals, teams, and service operators that can run and maintain their own automation. Organizations wanting vendor-managed administration or commercial support should assess a different category of product.
Platforms
lego is available for API use, Linux, macOS, and self-hosted deployments. Binaries, Docker, package-manager instructions, and source installation give infrastructure teams several distribution routes. It is not presented as a hosted web application, so operation remains tied to your own environment.
Who it's for
Choose lego when certificate issuance must be scripted, embedded in Go software, or repeated across providers and environments. It is especially well matched to platform teams managing wildcard or SAN certificates and to deployments that need DNS-based validation across many registrars. It is less suitable for administrators who expect a graphical dashboard, centralized hosted controls, or a vendor to handle credential and package upkeep.
Pros and cons
Pros
- Broad validation coverage: four challenge methods accommodate varied DNS, HTTP, and TLS topologies.
- Large DNS ecosystem: more than 200 providers, including major cloud DNS services, reduce custom integration work.
- Complete lifecycle automation: issuance, renewal, deployment, and revocation support ongoing operations.
- CLI and Go library: the same project serves shell automation and native Go integrations.
- Flexible distribution: binaries, Docker, packages, and source builds fit self-hosted environments.
Cons
- Credential ownership stays with you: environment-variable configuration is flexible but requires disciplined secret handling.
- Source builds have a current toolchain requirement: Go 1.25 or later may be inconvenient on older build systems.
- Package support varies: only AUR and Snap packages are maintained by the project; other packages depend on their communities.
- No graphical management layer is presented: teams seeking visual policy and certificate administration should look elsewhere.
Alternatives
Certify The Web is a better direction if you want a freemium option with a no-limit free evaluation and broader web and Windows platform coverage.
acme.sh is the leaner choice when a free, shell-script ACME client on Linux, macOS, self-hosted systems, or Windows is preferable.
Certbot is another free, open-source ACME client for users who prefer the Electronic Frontier Foundation-backed project.
EJBCA fits teams seeking a broader open-source PKI platform with a community edition aimed at learning, testing, and prototyping.
Let's Encrypt is the direct choice when you need a free certificate authority rather than an ACME client.
OpenXPKI suits organizations wanting a fully functional open-source PKI code base with Debian packages and documentation.
GeoTrust is the commercial alternative for paid SSL services and monitoring.
Qualys External Attack Surface Management is aimed at broader external-asset security management rather than certificate automation alone.
Browse more tools in Certificate Management Software.
Verdict
lego is a strong recommendation for technically capable operators who need free, scriptable certificate lifecycle management with many challenge methods, authorities, and DNS providers. Its MIT-licensed CLI and Go library keep deployment flexible and cost-free. Look elsewhere if your priority is a hosted dashboard, turnkey credential management, or vendor-managed support rather than self-hosted automation.
Alternatives to lego
- 1

EJBCA
Free planOpen sourceWebAPILinuxmacOS8.2From £62,065 a year - 2

Certify The Web
Free planWebAPILinuxmacOS7.7From $59 a year - 3

KeyTalk CKMS
AndroidiOSWebAPI7.7From €5 a month - 4
Let's Encrypt
Free planOpen sourceWebAPILinuxmacOS7.6Free plan - 5

ManageEngine Key Manager Plus
Free planWebAPILinuxSelf-hosted7.6From $475 a year - 6

GeoTrust
Free planWebAPILinuxWindows6.9From $2 a month
