CSV Utils (Version 2.08)


The CSV Utils is a set of command-line utilities for manipulating Comma Separated Values (CSV) files (i.e., "spreadsheet" files). They are written in C and emphasize execution speed.

Note: the CSV Utils have been designed for Linux only. The supplied executables should run on any reasonable Linux (X86-64), being dependent on only glibc. Some CSV Utils programs make use of the system programs awk or sort. The Linux standard GNU versions of these programs are assumed. It may be possible to recompile the CSV Utils for other UNIX-like OS's, but this is not guaranteed nor supported in any way. The programs will absolutely not work on any Windows systems (except possibly under WSL).

CSV files consist of a sequence of records, each record consisting of a sequence of fields. Records are separated by record separator character(s) (e.g., linefeeds), fields are separated by single comma characters. The main standard for CSV files is RFC 4180, though it is possible to find real-world "CSV" files that do not strictly adhere to RFC 4180.

The CSV Utils programs are able to handle any CSV file consistent with RFC 4180. Their default output will also meet the standard (errors thrown otherwise). However, most include options that allow more flexibility in handling nonstandard files.

Each CSV Utils program has been kept focused on a single function, to be fast and easy to understand. Processing of CSV files may thus require use of multiple CSV Utils programs. This is easy to accomplish using shell pipelines, since the CSV Utils programs operate as Linux/UNIX "filters". On multicore computers, pipeline stages run in parallel, so pipelined programs can run faster than would a single, more complex utility.

Version 2, released April 2025, changed how the CSV Utils programs deal with nonstandard CSV features. In particular, errors get thrown when CSV output will not meet RFC 4180 standards, with options being required to allow nonstandard output (e.g., blank records). As a result, program options may differ from Version 1 programs. Also, a few programs were renamed to have consistent action names.

Use option --help to get usage messages with any of the CSV Utils programs.

For help or info about source code: email "admin" at this website.


Manual and Zips:

Individual Program Binaries:

Last Updated: 08/07/2025