GitHunt
OS

osiegmar/FastCSV

Fast, lightweight, and RFC 4180 compliant CSV library for Java. Zero dependencies, ~90 KiB. Trusted by Apache NiFi, JUnit, and Neo4j.

FastCSV

FastCSV: fast, lightweight, and easy to use — the production-proven CSV library for Java.
It’s the most-starred CSV library for Java and trusted by leading open-source projects such as Apache NiFi, JUnit and Neo4j.

javadoc Maven Central Mentioned in Awesome Java

build Codacy Badge codecov oss-fuzz OpenSSF

Features

Here are the top reasons to choose FastCSV — see fastcsv.org for the full feature list.

  • Fast CSV processing — optimized for high-speed reading and writing
  • Tiny footprint — only ~90 KiB, with zero runtime dependencies
  • Developer-friendly API — clean, intuitive, and easy to integrate
  • Well-documented — Quickstart guides and complete Javadoc
  • High test coverage — including mutation testing for reliability
  • RFC 4180 compliant — handles edge cases correctly
  • Robust & maintainable — uses SpotBugs, PMD, Error Prone, NullAway, and Checkstyle to ensure code quality; never returns null unexpectedly
  • Secure — fuzz-tested via OSS-Fuzz and following OpenSSF best practices
  • Production-proven — trusted by open-source projects like JUnit
  • Java 17+, Android 34+ compatible — including GraalVM Native Image and OSGi

Performance

Benchmark
Based on the Java CSV library benchmark suite.

Quick Start

Writing CSV

try (CsvWriter csv = CsvWriter.builder().build(Path.of("output.csv"))) {
    csv
        .writeRecord("header 1", "header 2")
        .writeRecord("value 1", "value 2");
}

Reading CSV

try (CsvReader<CsvRecord> csv = CsvReader.builder().ofCsvRecord(Path.of("input.csv"))) {
    csv.forEach(IO::println);
}

For more examples and detailed documentation, visit fastcsv.org.
If you find FastCSV useful, consider leaving a star!

License

MIT

Languages

Java100.0%Go Template0.0%

Contributors

MIT License
Created June 22, 2014
Updated March 8, 2026
osiegmar/FastCSV | GitHunt