Miller is a command-line tool for processing name-indexed data formats such as CSV, TSV, JSON, and JSON Lines, operating on key-value pairs rather than positional field indices.
Miller solves the problem of working with structured tabular data where field names matter more than their position. Unlike traditional Unix tools like awk and sed that operate on integer-indexed fields, Miller treats data as insertion-ordered hash maps, allowing you to reference fields by name. This approach eliminates the need to count column positions. The tool can transform data on the fly by adding computed fields, dropping columns, sorting, performing statistical aggregation, and reformatting output across multiple data formats.
The tool suits developers and operators who regularly work with CSV, JSON, or other tabular formats in data pipelines, particularly those who find traditional positional-index tools cumbersome. It works well for data cleaning, statistical analysis, and format conversion tasks in DevOps and data processing workflows. Miller is available as a pre-built package across numerous Linux distributions, macOS, Windows, and other platforms, making adoption straightforward for most environments.
The project maintains active development with regular updates addressing both bug fixes and feature enhancements. The codebase receives consistent attention to performance and correctness, with improvements to streaming algorithms and data handling. Documentation is comprehensive and kept current alongside code changes. The maintainer actively engages with user feedback and incorporates improvements based on real-world usage patterns.