xan

xan 0.61.0

The CSV magician

  • By médialab Sciences Po
  • Open Source
  • Updated Sep 11, 2026
Download for Windows

About xan

xan is a command line tool that can be used to process CSV files directly from the shell.
It has been written in Rust to be as fast as possible, use as little memory as possible, and can very easily handle large CSV files (Gigabytes). It leverages a novel SIMD CSV parser and is also able to parallelize some computations (through multithreading) to make some tasks complete as fast as your computer can allow.
It can easily preview, filter, slice, aggregate, sort, join CSV files, and exposes a large collection of composable commands that can be chained together to perform a wide variety of typical tasks.
xan also offers its own expression language so you can perform complex tasks that cannot be done by relying on the simplest commands. This minimalistic language has been tailored for CSV data and is way faster than evaluating typical dynamically-typed languages such as Python, Lua, JavaScript etc.
Note that this tool is originally a fork of BurntSushi's xsv, but has been nearly entirely rewritten at that point, to fit SciencesPo's médialab use-cases, rooted in web data collection and analysis geared towards social sciences (you might think CSV is outdated by now, but read our love letter to the format before judging too quickly).
xan therefore goes beyond typical data manipulation and expose utilities related to lexicometry, graph theory and even scraping.
Beyond CSV data, xan is able to process a large variety of CSV-adjacent data formats from many different disciplines such as web archival (.cdx) or bioinformatics (.vcf, .gtf, .sam, .bed etc.). xan is also able to convert to & from many data formats such as json, excel files, numpy arrays etc. using xan to and xan from. See this section for more detail.
Finally, xan can be used to display CSV files in the terminal, for easy exploration, and can even be used to draw basic data visualisations.

What's new in 0.61.0

Features
- Support for .mtx (Matrix Market) files.
- Adding geometric_mean & harmonic_mean aggregation functions.
Fixes
- Fixing xan rename with non-comma delimiters.
- Fixing xan from -f=parquet not converting timestamp columns.
- Fixing open-ended moonblade slicing.
- Fixing xan parallel (cat|map) not working with -R/--run.
- Fixing xan parallel -R/--run not spawning checker thread.
- Fixing xan cat rows (-I|-U) -S/--source-column.
Performance
- Improving performance of xan freq & xan p freq.
Quality of Life
- Better moonblade error messages when values are not yet materialized.
- Better xan count -H/--human-readable.

Full release notes »

Technical details

Publishermédialab Sciences Po
Version0.61.0
Release date2026-09-11
LicenseUnlicense, MIT
Installer typezip
Architecturex64
Package IDmedialab.xan

Links & install command

Install xan from the command line with Windows Package Manager (winget):

winget install --id=medialab.xan -e

csvdatadatasciencediagramgraphgraphicsplotstatisticsstats

Older versions

  • 0.60.0
  • 0.59.0
  • 0.58.0
  • 0.57.1
  • 0.57.0
  • 0.56.0
  • 0.55.0
  • 0.54.1
  • 0.54.0