Adheres to the RFC 4180 standard to ensure compatibility across systems.
Linux Mode
Mode for common Linux/SerDe files where an escape character is used instead of RFC 4180's field quoting.
Graceful Fallback
When non-standard files are read, fallback will match MS Excel parsing.
Low Memory Usage
Reading records will yield results so only one record is in memory at a time.
Field Caching
Option to use field caching when there is repeated data in a CSV file. This will reduce memory
and speed up parsing time.
Run Anywhere
CsvHelper is built on .NET Standard 2.0 which allows it to run
almost everywhere.
Older versions of .NET are possible if needed.
Open Source
Many contributors have helped make CsvHelper the great library it is today.
Completely free for commercial use. Dual licensed under
MS-PL and
Apache 2.
Help
Stack Overflow
Stack Overflow
has millions of users in its community just waiting to answer your questions.
There is only one of me and I'm pretty busy.
Want to contribute? Great! Here are a few guidelines.
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.
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.
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.
Pull requests should have a single commit. If you have multiple commits, squash them into a single commit before
requesting a pull.
When in Rome: Try and follow the code styling already in place. I use default Visual Studio Text Editor settings
but change tabs to Keep tabs.
Contributors
Donations
GitHub Sponsors
You can do one time or recurring donations through
GitHub Sponsors.