FREEDOM251

Freedom251 › Certificate Management Software

lego

Free plan APILinuxMacSelf-hosted

Visit lego Alternatives Pricing

lego's own site

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 and validation through DNS-01, HTTP-01, TLS-ALPN-01, and DNS-PERSIST-01 challenges. Multiple ACME servers are supported, including Let’s Encrypt and ZeroSSL. The project says it supports more than 200 DNS providers, with listed integrations including Cloudflare, Amazon Route 53, Google Cloud DNS, and Azure DNS. CNAME is supported by default. Users can run lego from the command line or use it as a Go library. DNS provider credentials and configuration 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; other listed packages are maintained by the community. The project lists support for ACME RFC 8555 and certificate validation and renewal extensions. It is licensed under MIT. Installing from source requires Go 1.25 or later.

Who it suits

lego suits developers and operators who need to obtain, renew, or revoke ACME certificates through a command-line tool or Go library. It offers DNS provider integrations and several installation routes.

What it does well

  • Obtains, renews, and revokes wildcard and SAN certificates
  • Supports multiple ACME challenge methods
  • Works with more than 200 DNS providers
  • Available as a CLI and Go library
  • Free and open source under MIT

What to know first

  • Building from source requires Go 1.25 or later
  • Most listed packages are community maintained

Plans

PlanBilled and limitsPrice
Free and open-sourceIndependent project; no paid plans statedFree

As go-acme.github.io lists them, read 11 Oct 2026. The maker's own page has the final word.

Getting started

  1. Choose a documented installation route: a prebuilt binary, Docker, a package manager, or building from source.
  2. If building from source, use Go 1.25 or later.
  3. Set DNS provider credentials and configuration through environment variables, using file references or dotenv files if needed.
  4. Run lego from the command line or use it as a Go library.

lego is a free, open-source ACME client that also exposes a Go library for certificate automation. It is best suited to developers and infrastructure operators managing certificates in scripts, services, or self-hosted systems. Its broad challenge, DNS-provider, and CA support is compelling, while graphical administration is not its focus.

Overview

lego covers the operational certificate lifecycle rather than just first-time issuance: it can obtain, renew, and revoke certificates, including wildcard and SAN certificates. Automatic renewal, deployment automation, and revocation workflows make it appropriate for recurring production processes where certificates must be kept current without manual requests.

The project is independent, free, and open source under the MIT license. You can run the command-line client directly or embed the Go library in an application. That combination suits teams standardizing certificate handling inside their own tooling, but users who want a hosted dashboard or a guided graphical workflow should look elsewhere.

Key features

Validation options include DNS-01, HTTP-01, TLS-ALPN-01, and DNS-PERSIST-01. This range lets an operator match the challenge to the network and domain setup: DNS validation can support wildcard certificates, while HTTP or TLS validation can fit environments where DNS automation is less convenient. Choosing and maintaining the correct method remains an implementation responsibility.

lego works with multiple ACME servers, including Let’s Encrypt and ZeroSSL, so deployments are not tied to one certificate authority. It supports ACME RFC 8555 and several certificate-validation and renewal extensions, providing a standards-based foundation for automated operations.

More than 200 DNS-provider integrations are supported. Cloudflare, Amazon Route 53, Google Cloud DNS, and Azure DNS are among the listed integrations, and CNAME is supported by default. Credentials and provider settings are supplied through environment variables, including values loaded from files or dotenv files. That approach fits CI, containers, and scripts, but credential storage and environment configuration must be managed carefully by the operator.

Support is organized through GitHub issues and discussions. The project distributes binaries for operating systems and architectures, a Docker image, and installation guidance for package managers. The maintainers maintain the AUR and Snap packages; other package-manager offerings are community maintained.

Pricing

PlanPriceWhat it means
Free and open-sourcefreeIndependent project with no paid plans stated; includes the full open-source client and library.

There is no paid tier, seat charge, trial period, or renewal fee. The zero-cost plan is therefore suitable for individual operators, development teams, and organizations comfortable running and maintaining their own certificate automation. It does not provide a separate commercial service tier for readers seeking vendor-managed administration.

Platforms

lego supports API use, Linux, macOS, and self-hosted deployments. Prebuilt binaries, Docker, package-manager instructions, and source installation give several deployment routes. Building from source requires Go 1.25 or later, so older Go environments should use a provided binary, container, or package instead.

Who it's for

Choose lego if you need programmable certificate issuance and renewal across varied DNS providers, ACME servers, and validation methods. It is particularly well matched to Go developers, platform teams, and self-hosted infrastructure that already uses environment-driven configuration and automated deployment.

It is less suitable for administrators who expect a visual control panel, managed certificate service, or a turnkey credential workflow. Those users may prefer a product built around web administration rather than a CLI and library.

Pros and cons

Pros

  • Broad automation coverage: issuance, renewal, deployment, and revocation address the full certificate lifecycle.
  • Flexible validation: DNS-01, HTTP-01, TLS-ALPN-01, and DNS-PERSIST-01 cover diverse network designs.
  • Wide integration choice: more than 200 DNS providers, including major cloud services, reduce provider lock-in.
  • Developer-friendly delivery: a Go library, CLI, Docker image, binaries, and package options support custom tooling.
  • No licensing cost: the MIT-licensed project has a single free plan and no paid restrictions stated.

Cons

  • Operator-managed configuration: credentials and provider settings live in environment-based workflows, leaving security and upkeep to your team.
  • Source-build prerequisite: compiling from source requires Go 1.25 or later.
  • No graphical service tier: teams wanting hosted administration or a visual certificate inventory need another product.
  • Mixed package maintenance: only AUR and Snap packages are maintained by the project; other package-manager packages rely on their communities.

Alternatives

Certify The Web is a better fit when you want a freemium product with a free evaluation and web and Windows availability alongside API, Linux, macOS, and self-hosted options.

acme.sh is the simpler choice if you specifically want a free GPLv3 shell-script ACME client.

Certbot is an alternative free, open-source ACME client made by the Electronic Frontier Foundation.

Let's Encrypt is appropriate when your priority is free Domain Validation certificates from that certificate authority rather than a multi-CA client.

EJBCA suits readers seeking a free community PKI edition for learning, testing, and prototyping.

OpenXPKI offers a free community edition with a functional code base, Debian packages, documentation, and mailing-list support.

GeoTrust is the paid-oriented alternative for SSL certificates with AutoInstall SSL and a separate SSL Monitor plan.

Qualys External Attack Surface Management is aimed at external attack-surface management rather than a standalone ACME client.

For a wider comparison, see Certificate Management Software.

Verdict

lego is a strong recommendation for developers and infrastructure teams that want free, standards-based certificate automation in a CLI or Go application. Its main reason to choose it is the combination of four challenge methods, multiple ACME servers, and more than 200 DNS integrations. Look elsewhere if you need a hosted dashboard, commercial support tier, or a less operator-driven credential and package-maintenance model.

Verdict

lego provides certificate operations through both a command-line client and a Go library, with multiple ACME servers and DNS providers. Source installation requires Go 1.25 or later.

Questions

How much does lego cost?

The listed plan is Free and open-source at no cost. The project describes itself as independent, free, and open source.

Which certificate operations and types does it support?

lego can obtain, renew, and revoke certificates, including wildcard and SAN certificates.

Which validation challenges and ACME servers are supported?

Challenges include DNS-01, HTTP-01, TLS-ALPN-01, and DNS-PERSIST-01. Supported ACME servers include Let’s Encrypt and ZeroSSL.

Which DNS providers can I use?

The project lists more than 200 DNS providers, including Cloudflare, Amazon Route 53, Google Cloud DNS, and Azure DNS. CNAME support is enabled by default.

How can I install and use lego?

Installation options include binaries, Docker, package managers, and building from source. It can be run as a command-line tool or used as a Go library; source installation requires Go 1.25 or later.

What license does lego use?

The GitHub repository lists the MIT license.

Facts from lego's own pages

ACME servers
It supports multiple ACME servers, including Let’s Encrypt and ZeroSSL. · go-acme.github.io, 11 Oct 2026
Certificate authorities
It supports multiple ACME servers, including Let’s Encrypt and ZeroSSL. · go-acme.github.io, 11 Oct 2026
Certificate management
It can obtain, renew, and revoke certificates. · go-acme.github.io, 11 Oct 2026
Certificate operations
It can obtain, renew, and revoke certificates, including wildcard and SAN certificates. · go-acme.github.io, 11 Oct 2026
Certificate types
It supports wildcard and SAN certificates. · go-acme.github.io, 11 Oct 2026
Challenge methods
Supported validation challenges include DNS-01, HTTP-01, TLS-ALPN-01, and DNS-PERSIST-01. · go-acme.github.io, 11 Oct 2026
Challenges
It supports DNS-01, HTTP-01, TLS-ALPN-01, and DNS-PERSIST-01 challenges. · go-acme.github.io, 11 Oct 2026
CNAME
CNAME is supported by default. · go-acme.github.io, 11 Oct 2026
Credential configuration
DNS provider credentials and configuration are passed through environment variables, including values loaded from files or dotenv files. · go-acme.github.io, 11 Oct 2026
Distribution
The project provides binaries for operating systems and architectures, a Docker image, and installation instructions for several package managers. · go-acme.github.io, 11 Oct 2026
DNS credentials
DNS provider credentials and configuration are passed through environment variables, with support for file references and dotenv files. · go-acme.github.io, 11 Oct 2026
DNS integrations
The project says it supports more than 200 DNS providers, with a provider list in its documentation. · go-acme.github.io, 11 Oct 2026
DNS providers
The project says it comes with support for more than 200 DNS providers. · go-acme.github.io, 11 Oct 2026
Go library
lego can be used as a Go library as well as a command-line client. · github.com, 11 Oct 2026
Install options
The project documents prebuilt binaries, Docker, package managers, and installation from source. · go-acme.github.io, 11 Oct 2026
License
The GitHub repository lists the project under the MIT license. · github.com, 11 Oct 2026
License and cost
The project describes itself as independent, free, and open source. · go-acme.github.io, 11 Oct 2026
Package maintenance
The maintainers maintain the AUR and Snap packages; other listed packages are community maintained. · go-acme.github.io, 11 Oct 2026
Provider integrations
Listed DNS integrations include Cloudflare, Amazon Route 53, Google Cloud DNS, and Azure DNS. · go-acme.github.io, 11 Oct 2026
Purpose
lego is an ACME client and library written in Go for obtaining and renewing certificates. · go-acme.github.io, 11 Oct 2026
Security standard
The project lists support for ACME RFC 8555 and several certificate validation and renewal extensions. · go-acme.github.io, 11 Oct 2026
Source requirement
Installing from source requires Go 1.25 or later. · go-acme.github.io, 11 Oct 2026
Support
The project links to GitHub issues and discussions for help and community participation. · go-acme.github.io, 11 Oct 2026
Ways to use
lego can be used as a command-line interface or as a Go library. · github.com, 11 Oct 2026

Where lego stands on Freedom251

Look at these too