# mkcert

> Generate locally-trusted development certificates with automatic CA management for HTTPS testing

Stars: 59.8k · Language: Go · License: BSD-3-Clause · Categories: Dev Tools

- Repository: https://github.com/FiloSottile/mkcert
- Website: https://mkcert.dev
- Page: https://www.trmn.sh/tools/mkcert

## Install

- Homebrew: `brew install mkcert`
- Chocolatey: `choco install mkcert`
- Scoop: `scoop bucket add extras && scoop install mkcert`

## Overview

mkcert is a certificate generation tool that creates locally-trusted TLS certificates for development environments. It automatically creates and installs a local Certificate Authority (CA) in the system trust store, then generates certificates that browsers and applications will trust without security warnings. The tool eliminates the common development problem of self-signed certificate trust errors while avoiding the complexity of managing production CAs for local development.

The tool supports multiple certificate formats including standard PEM files, PKCS#12 (.p12/.pfx) for legacy applications, and S/MIME certificates for email addresses. It can generate certificates for multiple domains, IP addresses, and wildcards in a single command, with support for both RSA and ECDSA keys. Advanced features include client authentication certificates and CSR-based certificate generation.

mkcert integrates with major trust stores across platforms including macOS/Windows system stores, Linux certificate management tools (update-ca-trust, update-ca-certificates), Firefox NSS, Chrome/Chromium, and Java keystores when JAVA_HOME is set. Mobile device support requires manual CA installation, and Node.js requires setting the NODE_EXTRA_CA_CERTS environment variable to recognize the certificates.

Developers working on HTTPS-enabled applications, API testing, or any local development requiring trusted certificates would use this tool. It's particularly valuable for testing scenarios involving localhost, custom domains, or IP addresses that cannot obtain certificates from public CAs.

### Installation

```bash
# via Homebrew
brew install mkcert
```

```bash
# via Chocolatey
choco install mkcert
```

```bash
# via Scoop
scoop bucket add extras && scoop install mkcert
```

![Browser screenshots showing trusted certificates](https://media.trmn.sh/cached/ad8610d35d0269d54fe8d2f2a5e63ff78b35ea224007ed6b51785f979cb07333.png)

## Alternatives

- [dive](https://www.trmn.sh/tools/dive.md): Docker image layer analysis tool for exploring contents and optimizing image size (Go, 54.7k stars)
- [lazydocker](https://www.trmn.sh/tools/lazydocker.md): Terminal UI for Docker and Docker Compose management with container logs, stats, and interactive controls (Go, 53.2k stars)
- [Terraform](https://www.trmn.sh/tools/terraform.md): Infrastructure-as-code CLI that builds, changes, and versions infrastructure from declarative configuration files, using execution plans and a resource graph. (Go, 50.3k stars)
- [act](https://www.trmn.sh/tools/act.md): Run GitHub Actions workflows locally using Docker containers for fast feedback and testing (Go, 72.5k stars)
- [trivy](https://www.trmn.sh/tools/trivy.md): Security scanner that detects vulnerabilities, secrets, and misconfigurations in containers, filesystems, git repos, VMs, and Kubernetes (Go, 38.9k stars)

---

Canonical: https://www.trmn.sh/tools/mkcert
