Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Shell
  3. xsv

xsv

UnlicenseRust0.13.0

A fast command-line toolkit for indexing, slicing, analyzing, splitting, and joining CSV files, written in Rust.

GitHubGitHub
10.8k stars326 forks0 contributors

What is xsv?

xsv is a fast CSV command-line toolkit written in Rust that provides indexing, slicing, joining, and analysis operations for CSV files. It solves the problem of slow or inadequate CSV tools when dealing with large datasets, offering performance optimizations like constant-time indexing and hash-based joins.

Target Audience

Data engineers, analysts, and developers who need to efficiently inspect, transform, or analyze large CSV files from the command line, especially when working with multi-gigabyte datasets.

Value Proposition

Developers choose xsv for its speed and composability—it exposes performance trade-offs in the CLI and maintains efficiency even when combining commands, making it uniquely suited for handling substantial CSV data where other tools falter.

Overview

A fast CSV command line toolkit written in Rust.

Use Cases

Best For

  • Inspecting the structure and statistics of multi-gigabyte CSV files
  • Quickly slicing and sampling rows from large CSV datasets
  • Joining CSV files efficiently using hash indexes
  • Building frequency tables and column statistics with parallel acceleration
  • Reformatting CSV data with different delimiters or quoting rules
  • Filtering CSV rows based on regex searches across fields

Not Ideal For

  • Projects requiring active maintenance, bug fixes, or future feature updates, as xsv is explicitly unmaintained and deprecated.
  • Users who prefer graphical interfaces or interactive data exploration tools, since xsv is strictly command-line with no GUI options.
  • Workflows involving real-time data streaming or non-CSV formats like JSON or Parquet, as xsv is batch-oriented and CSV-specific.
  • Environments where Rust compilation is not feasible and pre-built binaries are unavailable or outdated due to the project's unmaintained state.

Pros & Cons

Pros

Blazing-Fast Indexing

Indexing enables constant-time row slicing and accelerates operations like statistics; the README demonstrates slicing 10 rows from a 3-million record file is instantaneous after creating an index.

Efficient Hash Joins

Joins use a simple hash index for speed, supporting inner, outer, and cross joins on large files in seconds, as shown in the tour with worldcitiespop.csv and countrynames.csv.

Composable Command Design

Commands are built to be piped together without performance loss, allowing complex workflows like filtering, selecting, and sampling in a single chain, as emphasized in the philosophy.

Parallel Statistics Acceleration

Statistics and frequency commands leverage parallelism when an index is present, cutting analysis time significantly; the tour shows stats running in 8 seconds vs. 12 seconds without indexing.

Cons

Unmaintained and Deprecated

The project is marked as unmaintained in the README, with no updates, bug fixes, or support, and the author recommends alternatives like qsv or xan, making it risky for production use.

Command-Line Only Limitation

Lacks a GUI or interactive shell, which can hinder exploratory data analysis for users accustomed to visual tools or those needing more intuitive data manipulation beyond terminal commands.

CSV-Exclusive Focus

Designed solely for CSV files, it cannot natively handle other common data formats like JSON, databases, or streaming inputs, requiring additional conversion steps in mixed-format workflows.

Frequently Asked Questions

Quick Stats

Stars10,761
Forks326
Contributors0
Open Issues131
Last commit1 year ago
CreatedSince 2014

Tags

#cli-tool#csv#cli#indexing#data-processing#command-line#data-analysis#rust#data-manipulation#performance

Built With

R
Rust

Included in

Shell36.8k
Auto-fetched 9 hours ago

Related Projects

fuckfuck

Magnificent app which corrects your previous console command.

Stars97,772
Forks3,960
Last commit2 years ago
fzffzf

:cherry_blossom: A command-line fuzzy finder

Stars82,864
Forks2,863
Last commit1 day ago
ripgrepripgrep

ripgrep recursively searches directories for a regex pattern while respecting your gitignore

Stars68,065
Forks2,750
Last commit1 month ago
fdfd

A simple, fast and user-friendly alternative to 'find'

Stars44,334
Forks1,130
Last commit20 hours ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub