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

Like sed, awk, cut, join & sort for name-indexed data such as CSV. Version 6.20.2 via Homebrew; verified 2026-07-04.

## Install

```sh
sudo av install brew:miller
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install miller
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install miller
```

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

### Linux

- apk (92%):

```sh
sudo apk add miller
```

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

- Debian apt (92%):

```sh
sudo apt install miller
```

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

- dnf (92%):

```sh
sudo dnf install miller
```

  Evidence: Fedora Rawhide package metadata: miller 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#miller
```

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

- pacman (92%):

```sh
sudo pacman -S miller
```

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

- zypper (92%):

```sh
sudo zypper install miller
```

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

### Windows

- Scoop (92%):

```sh
scoop install main/miller
```

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

- winget (92%):

```sh
winget install --id Miller.Miller -e
```

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

## Package facts

- **Package key:** brew:miller
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/miller>
- **Version:** 6.20.2
- **Source summary:** Like sed, awk, cut, join & sort for name-indexed data such as CSV
- **Homepage:** <https://github.com/johnkerl/miller>
- **Repository:** <https://github.com/johnkerl/miller>
- **Upstream docs:** <https://github.com/johnkerl/miller>
- **License:** BSD-2-Clause
- **Source archive:** <https://github.com/johnkerl/miller/archive/refs/tags/v6.20.2.tar.gz>
- **Last updated:** 2026-07-04T21:37:00Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- mlr (cli)
- mlr (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: 6.20.2
- Package-manager updated: 2026-07-04
- Local data: ok
- Upstream repository: https://github.com/johnkerl/miller
- Upstream latest detected: v6.20.2 (current)
## Project history and usage

Miller, whose executable is `mlr`, is John Kerl's command-line data-processing tool for record-oriented formats. Kerl's csv,conf,v7 slides describe the origin as roughly 2015: he wanted a record-aware tool because classic Unix commands such as grep, cut, and sort are line-aware and column-index oriented. The project name and design reflect that Unix-toolkit lineage, but with fields addressed by name rather than by position.

### Project history

The technical milestone that defines Miller is its key-value record model. Its README describes it as being like awk, sed, cut, join, and sort for CSV, TSV, JSON, JSON Lines, and positionally indexed data; it can add, drop, sort, aggregate, pretty-print, and convert fields while streaming records. The documentation explains that Miller's natural data structure is an insertion-ordered hash map, which lets it handle heterogenous records and format-aware operations such as preserving CSV headers.

### Adoption history

Miller's package-manager footprint is broad: the README lists installation through apt, yum, snap, Homebrew, MacPorts, Chocolatey, WinGet, and Scoop, and the av.db record also maps it across APK, Debian, DNF, Nix, Pacman, Ubuntu, and Zypper. It is used as a shell-pipeline tool for data cleaning, ETL preparation, log processing, statistical summaries, format conversion, and database-query post-processing. Its adoption signals include thousands of GitHub stars, many contributors, and community documentation and talks aimed at CSV and command-line data users.

### How it is used

A major implementation milestone was the Go line, represented by Miller 6. The performance documentation notes CSV and record I/O improvements in Miller 6, later allocation and garbage-collection reductions, and a portable single-binary Go implementation with no runtime dependencies. This made Miller easier to distribute as a small CLI while keeping its niche as a data-aware companion to the traditional Unix toolkit, jq, xsv, csvtk, q, Nushell, pandas, and SQL databases.

### Sources

- <https://formulae.brew.sh/formula/miller>
- <https://github.com/johnkerl/miller>
- <https://johnkerl.org/miller%2Ccsv%2Cconf%2Cv7/miller%2Ccsv%2Cconf%2Cv7.pdf>
- <https://miller.readthedocs.io/en/latest/>
- <https://miller.readthedocs.io/en/latest/performance/>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** miller
- **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 - miller - 6.13.0-1: normalized package name match | Debian stable package indexes: miller from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | name-indexed data processing tool | https://github.com/johnkerl/miller
- Nix - miller: normalized package name match | nixpkgs package indexes: pkgs/by-name/mi/miller/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - miller - 6.11.0-1: normalized package name match | Ubuntu 24.04 LTS package indexes: miller from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | name-indexed data processing tool | https://github.com/johnkerl/miller
- apk - miller - 6.16.0-r5: normalized package name match | Alpine Linux edge package indexes: miller from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Name-indexed data processing tool | https://miller.readthedocs.io/
- apk - miller-doc - 6.16.0-r5: normalized package name match | Alpine Linux edge package indexes: miller-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Name-indexed data processing tool (documentation) | https://miller.readthedocs.io/
- dnf - miller - 6.13.0-8.fc44: normalized package name match | Fedora Rawhide package metadata: miller from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Name-indexed data processing tool | https://github.com/johnkerl/miller
- pacman - miller - 6.18.1-1: normalized package name match | Arch Linux sync databases: miller from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Name-indexed data processing tool | https://github.com/johnkerl/miller
- zypper - miller - 6.18.1+git20260419.9a25ba5df-1.1: normalized package name match | openSUSE Tumbleweed package metadata: miller from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Name-indexed data processing tool | http://johnkerl.org/miller/doc
- MacPorts - miller: normalized package name match | MacPorts ports tree: textproc/miller/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Scoop - main/miller: normalized package name match | Scoop official bucket manifest trees: bucket/miller.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1
- winget - Miller.Miller: normalized package name match | Windows Package Manager source index: Miller.Miller 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.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Language runtime packages](https://www.automicvault.com/pkg/language-runtime-packages/) - Matched language runtime, compiler, or interpreter metadata.
- [go](https://www.automicvault.com/pkg/brew/go/) - Build dependency declared by Homebrew.
- [qo](https://www.automicvault.com/pkg/brew/qo/) - Shares av.db curated category or tags: cli, csv, data, json, tsv.
- [cqlkit](https://www.automicvault.com/pkg/brew/cqlkit/) - Shares av.db curated category or tags: cli, csv, data, json.
- [csvtk](https://www.automicvault.com/pkg/brew/csvtk/) - Shares av.db curated category or tags: cli, csv, data, tsv.
- [dsq](https://www.automicvault.com/pkg/brew/dsq/) - Shares av.db curated category or tags: cli, csv, data, json.
- [oj](https://www.automicvault.com/pkg/brew/oj/) - Shares av.db curated category or tags: cli, data, go, json.
- [tidy-viewer](https://www.automicvault.com/pkg/brew/tidy-viewer/) - Shares av.db curated category or tags: cli, csv, data, tsv.
- [xan](https://www.automicvault.com/pkg/brew/xan/) - Shares av.db curated category or tags: cli, csv, data, data-processing.
- [apache-spark](https://www.automicvault.com/pkg/brew/apache-spark/) - Shares av.db curated category or tags: cli, data, data-processing.

## Combined YAML source

View the package source record on GitHub. [combined/miller.yml](https://github.com/automic-vault/db/blob/main/combined/miller.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
