# Install csvtk with Homebrew, MacPorts, Nix

Cross-platform, efficient and practical CSV/TSV toolkit in Golang. Version 0.37.0 via Homebrew; verified 2026-07-25. Also installable with nix: nix profile install nixpkgs#csvtk.

## Install

```sh
sudo av install brew:csvtk
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install csvtk
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install csvtk
```

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

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#csvtk
```

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

## Package facts

- **Package key:** brew:csvtk
- **Package manager:** Homebrew
- **Version:** 0.37.0
- **Source summary:** Cross-platform, efficient and practical CSV/TSV toolkit in Golang
- **Homepage:** <https://bioinf.shenwei.me/csvtk>
- **Repository:** <https://github.com/shenwei356/csvtk>
- **Last updated:** 2026-07-25T14:20:52-04:00
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- csvtk (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 0.37.0
## Project history and usage

csvtk is a cross-platform Go toolkit for CSV and TSV processing, originally framed for bioinformatics and data-science table workflows. It emphasizes many subcommands, compressed input support, field selection by names, pipeline integration, and prebuilt binaries.

### Project history

The public release series begins with v0.1 in April 2016. The project grew from a compact CSV/TSV utility into a broad suite with commands for inspection, conversion, set operations, editing, transforms, sorting, joins, plots, and shell autocompletion.

### Adoption history

The official README documents release binaries, Pixi, conda-forge, Homebrew, Go install, and Arch AUR installation. Its conda and bioinformatics-facing documentation are significant because CSV/TSV table wrangling is common in reproducible analysis pipelines where package-manager availability matters.

### How it is used

csvtk is commonly used as a pipeline component for rapid table inspection and transformation: selecting or excluding fields by name, converting CSV to TSV, JSON, Markdown, reStructuredText, or XLSX, fixing malformed records, joining tables, summarizing columns, and plotting simple charts.

### Why package nerds care

csvtk is package-nerd-interesting because it packages a large table-toolbox surface into a single Go binary with no runtime dependencies, while still being distributed through language, OS, and scientific package channels. It overlaps with csvkit and xsv but leans into compressed files, bioinformatics documentation, and many built-in subcommands.

### Timeline

- 2016: v0.1 preview release.
- 2024: v0.31.0 improved sort and join performance and added mutate3.
- 2025: v0.34.0 added plot bar; v0.36.0 added shuf.
- 2026: v0.37.0 added LZ4 read/write support; v0.38.0 refined filtering and cut behavior.

### Related projects

- The README explicitly compares csvtk with csvkit and positions CSV/TSV handling beside bioinformatics FASTA/Q tooling, reflecting the author's wider ecosystem of command-line bioinformatics utilities.

### Sources

- <https://bioinf.shenwei.me/csvtk>
- <https://github.com/shenwei356/csvtk#readme>
- <https://github.com/shenwei356/csvtk/blob/master/CHANGELOG.md>
- <https://github.com/shenwei356/csvtk/releases>


## Security Notes

narrow executable package without higher-risk signals.

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

## Other Package-Manager Records

- Nix - csvtk: normalized package name match | nixpkgs package indexes: pkgs/by-name/cs/csvtk/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- MacPorts - csvtk: normalized package name match | MacPorts ports tree: textproc/csvtk/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Combined YAML source

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