Fetching contributors…
Cannot retrieve contributors at this time
68 lines (39 sloc) 1.41 KB


Fields is a fast C library for reading CSV and other tabular text formats.


Fields reads input consisting of zero or more records, each record consisting of zero or more fields. Records are separated by record separators and fields by field delimiters.

Fields handles input internally as UTF-8. The record separator may be either a carriage return (CR, Mac OS), a line feed (LF, Unix) or a CRLF (Windows). The field delimiter may be any ASCII character except CR or LF.

A field may begin and end with a quote character. A quoted field may contain embedded record separators, field delimiters and quote characters. Each quote character within a quoted field must be escaped with another quote character. The quote character may be any ASCII character except the field delimiter, CR or LF. If the quote character is set to the null character (NUL), quoting is disabled.


Building Fields requires a C99 compiler and GNU Make.

Build Fields:



Install Fields to /usr/local, the default installation location:

make install

Install Fields to $HOME, an alternative installation location:

make install PREFIX=$HOME


Running Fields' tests requires Python 2.6.

Run Fields' tests:

make test




Fields is released under the MIT License. See LICENSE for details.