Papa Parse
CSV parser that handles large files and malformed input
...Specify a step callback to receive the results row-by-row. This way, you won't load the whole file into memory and crash the browser. If you tell Papa there is a header row, each row will be organized by field name instead of index. If you want numbers and booleans, you can enable dynamic typing to do the conversion for you.