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

Like sed, awk, cut, join & sort for name-indexed data such as CSV. Version 6.20.2 via Homebrew; verified 2026-07-29. Also installable with debian: sudo apt install miller.

## 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/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-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/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-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
- **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>
- **Last updated:** 2026-07-29T14:13:07+09:00
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- mlr (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 6.20.2
## 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

## 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-r6: 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-r6: 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-9.fc45: normalized package name match | Fedora Rawhide package metadata: miller from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst | Name-indexed data processing tool | https://github.com/johnkerl/miller
- pacman - miller - 6.20.2-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.19.0+git20260621.299636038-1.3: normalized package name match | openSUSE Tumbleweed package metadata: miller from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-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


## Combined YAML source

View the package source record on GitHub. [combined/miller.yml](https://github.com/mxcl/pkgdb/blob/main/combined/miller.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
