Skip to content
Library to help reading and writing CSV files
Branch: master
Clone or download
Latest commit 2914f68 Apr 11, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/ISSUE_TEMPLATE Update issue templates Apr 11, 2019
.vscode VSCode settings. Mar 27, 2018
deployment/cake Update build scripts Mar 1, 2019
docs Docs build. Jan 24, 2019
logo New documentation. Dec 27, 2018
src Merge branch 'line-breaks-crlf' of Mar 20, 2019
tools Update scripts Jan 18, 2019
unity Updated unity build file. Jun 12, 2018
.gitignore Update .gitignore Dec 18, 2018
GitVersionConfig.yaml Change GitVersion mode to ContinuousDelivery Dec 19, 2018
LICENSE.txt Updated licensing to dual Apache 2.0 and MS-PL licenses. Updated copy… Jan 10, 2015
Unity Build.bat
build.cake Final fixes Dec 18, 2018
build.ps1 Add Cake scripts Dec 18, 2018
cake.config Add Cake scripts Dec 18, 2018



Join the chat at Backers on Open Collective Sponsors on Open Collective

A library for reading and writing CSV files. Extremely fast, flexible, and easy to use. Supports reading and writing of custom class objects.


Package Manager Console

PM> Install-Package CsvHelper

.NET CLI Console

> dotnet add package CsvHelper


Building the Documentation

  1. Install node.js.
  2. Go into the CsvHelper/docs-src folder.
  3. Run npm start to start a local test site. Make any changes needed.
  4. Run npm run build to build the documentation files that are output to CsvHelper/docs.


Dual licensed

Microsoft Public License (MS-PL)

Apache License, Version 2.0


Want to contribute? Great! Here are a few guidelines.

  1. If you want to do a feature, post an issue about the feature first. Some features are intentionally left out, some features may already be in the works, or I may have some advice on how I think it should be done. I would feel bad if time was spent on some code that won't be used.
  2. If you want to do a bug fix, it might not be a bad idea to post about it too. I've had the same bug fixed by multiple people at the same time before.
  3. All code should have a unit test. If you make a feature, there should be significant tests around the feature. If you do a bug fix, there should be a test specific to that bug so it doesn't happen again.
  4. Pull requests should have a single commit. If you have multiple commits, squash them into a single commit before requesting a pull.
  5. Try and follow the code styling already in place. If you have ReSharper there is a dotsettings file included and things should automatically be formatted for you.



This project exists thanks to all the people who contribute. [Contribute].


Thank you to all our backers! 🙏 [Become a backer]


Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]

You can’t perform that action at this time.