johnkerl/miller

Miller is like awk, sed, cut, join, and sort for name-indexed data such as CSV, TSV, and tabular JSON

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 14 minutes ago
Added to GitGenius on September 6th, 2026
Created on May 3rd, 2015
Open Issues & Pull Requests: 71 (-1)
GitHub issues: Enabled
Number of forks: 241
Total Stargazers: 10,011 (+0)
Total Subscribers: 61 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 5.5 hours
Mean response time: 161.3 days
90th percentile: 618.2 days
Tracked items: 145

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 76% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled "bug" is answered fastest, typically in about 4 hours, while "on deck" waits about 4 days. Only 4% of issues opened in the past year have been closed. Three people close 92% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 34
New in 7 days: 1
Closed in 7 days: 0
Avg open age: 1,334 days
Stale 30+ days: 31
Stale 90+ days: 15

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • feature-request (46)
  • on deck (20)
  • bug (16)
  • help wanted (10)
  • plan-written (10)
  • error-propagation (8)
  • needs-documentation (8)
  • active (7)

Detailed Description

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.