# Install age with Homebrew, apk, apt, dnf, MacPorts, Nix, pacman, scoop, winget, zypper

Simple, modern, secure file encryption. Version 1.3.1 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:age
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install age
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install age
```

  Evidence: MacPorts ports tree: security/age/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add age
```

  Evidence: Alpine Linux edge package indexes: age from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install age
```

  Evidence: Debian stable package indexes: age from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install age
```

  Evidence: Fedora Rawhide package metadata: age from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#age
```

  Evidence: nixpkgs package indexes: pkgs/by-name/ag/age/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- pacman (92%):

```sh
sudo pacman -S age
```

  Evidence: Arch Linux sync databases: age from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install age
```

  Evidence: openSUSE Tumbleweed package metadata: age from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

### Windows

- Scoop (92%):

```sh
scoop install extras/age
```

  Evidence: Scoop official bucket manifest trees: bucket/age.json from https://api.github.com/repos/ScoopInstaller/Extras/git/trees/master?recursive=1

- winget (92%):

```sh
winget install --id FiloSottile.age -e
```

  Evidence: Windows Package Manager source index: FiloSottile.age from https://cdn.winget.microsoft.com/cache/source.msix

## Package facts

- **Package key:** brew:age
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/age>
- **Version:** 1.3.1
- **Source summary:** Simple, modern, secure file encryption
- **Homepage:** <https://github.com/FiloSottile/age>
- **Repository:** <https://github.com/FiloSottile/age>
- **Upstream docs:** <https://age-encryption.org/v1>
- **License:** BSD-3-Clause
- **Source archive:** <https://github.com/FiloSottile/age/archive/refs/tags/v1.3.1.tar.gz>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- age (cli)
- age-inspect (cli)
- age-keygen (cli)
- age-plugin-batchpass (cli)
- age (alias)
- age-inspect (alias)
- age-keygen (alias)
- age-plugin-batchpass (alias)

## Build dependencies

- go

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 1.3.1
- Local data: ok
- Upstream repository: https://github.com/FiloSottile/age
- Upstream latest detected: v1.3.1 (current)
- info: No package-manager update timestamp was available.
## Project history and usage

age is a modern file-encryption tool, file format, and Go library designed around small explicit keys, Unix-style composability, and a deliberately small option surface.

### Project history

age was designed by Ben Cartwright-Cox and Filippo Valsorda and the public repository was created in May 2019. The README describes it as a simple, modern, secure file encryption tool, format, and Go library with small explicit keys, post-quantum support, no config options, and Unix-style composability.

The first beta releases appeared in December 2019, including a beta named from the floor of 36C3. Release candidates followed in 2021, and age v1.0.0 was published in September 2021. The 1.1.0 release in December 2022 added plugin and YubiKey support, helping turn age from a single CLI into a format with a hardware and plugin ecosystem.

The project continued with v1.2.x in 2024 and v1.3.x in December 2025. The v1.3.0 release was explicitly described upstream as a post-quantum release, matching the README's current positioning of age as a format and tool with post-quantum support.

### Adoption history

age became widely packaged for a security CLI. The upstream README lists installation commands for Homebrew, MacPorts, winget, Alpine, Arch, Debian, Fedora, Gentoo, Guix, Nix, openSUSE, Ubuntu, Void, FreeBSD, OpenBSD, Chocolatey, and Scoop, and it asks new packagers for help. The supplied package metadata also records major Linux and Windows package-manager names.

The ecosystem around age includes plugins, alternate implementations, browser/TypeScript work, Passage, and an awesome-age list. That adoption pattern is important: age is not just a command named by package managers, but a small format other tools embed.

### How it is used

The canonical CLI flow is `age-keygen -o key.txt`, encryption with `age -r RECIPIENT`, and decryption with `age --decrypt -i key.txt`. The README documents recipient files, identity files, passphrase encryption, SSH public keys as recipients, and stdin/stdout friendly operation for shell pipelines.

age has intentionally no global config file documented by upstream. Instead, users pass identity and recipient files explicitly, which is part of its packaging appeal: the installed binary is portable, scriptable, and easy to compose with tar, password managers, backups, and deployment tooling.

### Why package nerds care

age is the package-manager-friendly successor-shaped tool many users wanted for file encryption: one small CLI, readable key files, no daemon, no keyring requirement, and simple static-ish binary distribution. Its packaging matrix and plugin convention make it a useful case study in how a security format gets from a GitHub repo to distro repositories and operator scripts.

For package nerds, the interesting bit is that age's minimalism is a distribution feature. The same project is a Go module, a command-line binary, a file format specification, and an ecosystem anchor for Rust, TypeScript, YubiKey, Secure Enclave, and password-manager integrations.

### Timeline

- 2019: GitHub repository created.
- 2019: First beta releases published.
- 2021: v1.0.0 released.
- 2022: v1.1.0 released with plugin and YubiKey support.
- 2024: v1.2.x releases published.
- 2025: v1.3.0 released with post-quantum support.

### Related projects

- rage is the alternative interoperable Rust implementation named by the age README.
- typage is the TypeScript implementation named by the age README.
- age-plugin-yubikey provides hardware PIV token support.
- age-plugin-se provides Apple Secure Enclave support.
- awesome-age collects plugins, implementations, tools, and integrations.

### Sources

- official GitHub releases API
- official GitHub repository metadata
- official age specification and man page
- source_facts.package-manager
- upstream README


## Security Notes

broad file, network, media, or database tool signal.

- **Geiger risk:** blue / medium
- broad file, network, media, or database tool signal

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** age
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Debian apt - age - 1.2.1-1+b5: normalized package name match | Debian stable package indexes: age from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | simple, modern and secure encryption tool | https://github.com/FiloSottile/age
- Debian apt - golang-filippo-age-dev - 1.2.1-1: normalized package name match | Debian stable package indexes: golang-filippo-age-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | simple, modern and secure encryption tool (Go library) | https://github.com/FiloSottile/age
- Nix - age: normalized package name match | nixpkgs package indexes: pkgs/by-name/ag/age/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - age - 1.1.1-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: age from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | simple, modern and secure encryption tool | https://github.com/FiloSottile/age
- Ubuntu apt - golang-filippo-age-dev - 1.1.1-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: golang-filippo-age-dev from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | simple, modern and secure encryption tool (Go library) | https://github.com/FiloSottile/age
- apk - age - 1.3.1-r5: normalized package name match | Alpine Linux edge package indexes: age from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Simple, modern and secure encryption tool | https://github.com/FiloSottile/age
- apk - age-doc - 1.3.1-r5: normalized package name match | Alpine Linux edge package indexes: age-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Simple, modern and secure encryption tool (documentation) | https://github.com/FiloSottile/age
- dnf - age - 1.3.1-4.fc44: normalized package name match | Fedora Rawhide package metadata: age from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Simple, modern and secure encryption tool | https://github.com/FiloSottile/age
- pacman - age - 1.3.1-1: normalized package name match | Arch Linux sync databases: age from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | A simple, modern and secure file encryption tool | https://github.com/FiloSottile/age
- zypper - age - 1.3.0-1.4: normalized package name match | openSUSE Tumbleweed package metadata: age from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | A file encryption tool | https://github.com/FiloSottile/age
- MacPorts - age: normalized package name match | MacPorts ports tree: security/age/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Scoop - extras/age: normalized package name match | Scoop official bucket manifest trees: bucket/age.json from https://api.github.com/repos/ScoopInstaller/Extras/git/trees/master?recursive=1
- winget - FiloSottile.age: normalized package name match | Windows Package Manager source index: FiloSottile.age from https://cdn.winget.microsoft.com/cache/source.msix


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [go](https://www.automicvault.com/pkg/brew/go/) - Build dependency declared by Homebrew.
- [aescrypt](https://www.automicvault.com/pkg/brew/aescrypt/) - Shares av.db curated category or tags: cli, cryptography, encryption, security.
- [aespipe](https://www.automicvault.com/pkg/brew/aespipe/) - Shares av.db curated category or tags: cli, cryptography, encryption, security.
- [age-plugin-se](https://www.automicvault.com/pkg/brew/age-plugin-se/) - Shares av.db curated category or tags: cli, cryptography, encryption, security.
- [age-plugin-yubikey](https://www.automicvault.com/pkg/brew/age-plugin-yubikey/) - Shares av.db curated category or tags: cli, cryptography, encryption, security.
- [ccrypt](https://www.automicvault.com/pkg/brew/ccrypt/) - Shares av.db curated category or tags: cli, cryptography, encryption, security.
- [gnupg](https://www.automicvault.com/pkg/brew/gnupg/) - Shares av.db curated category or tags: cli, cryptography, encryption, security.
- [nettle](https://www.automicvault.com/pkg/brew/nettle/) - Shares av.db curated category or tags: cli, cryptography, encryption, security.
- [scrypt](https://www.automicvault.com/pkg/brew/scrypt/) - Shares av.db curated category or tags: cli, cryptography, encryption, security.
- [md5deep](https://www.automicvault.com/pkg/brew/md5deep/) - Security-sensitive metadata or terminology overlaps. Shared terms: cli, cryptography, file, files, security.

## Combined YAML source

View the package source record on GitHub. [combined/age.yml](https://github.com/automic-vault/db/blob/main/combined/age.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
