Show HN: I built an open-source CSV importer

1 aray07 1 8/27/2025, 2:36:20 PM github.com ↗

Comments (1)

aray07 · 4m ago
At my previous startup, CSV import was make-or-break for customer onboarding. We built the first version in three days.

Then reality hit: Windows-1252 encoding, European date formats, embedded newlines, phone numbers in five different formats.

We rebuilt that importer multiples over the next six months. Our onboarding completion rate dropped 40% at the import step because users couldn't fix errors without starting over.

The real problem isn't parsing (PapaParse is excellent). It's everything after: mapping "Customer Email" to your "email" field, validating business rules, and letting users fix errors inline.

Flatfile and OneSchema solve this but won't show pricing publicly. Most open source tools only handle pieces of the workflow.

ImportCSV handles the complete flow: Upload → Parse → Map → Validate → Transform → Preview → Submit. Everything runs client-side by default. Your data never leaves the browser. This is critical for sensitive customer data - you can audit the code, self-host, and guarantee that PII stays on your infrastructure. The frontend is MIT licensed.

Technical approach

We use fuzzy matching + sample data analysis for column mapping. If a column contains @ symbols, it's probably email.

For validation errors, users can fix them inline in a spreadsheet interface - no need to edit the CSV and start over. Virtual scrolling (@tanstack/react-virtual) handles 100,000+ rows smoothly.

The interesting part: when AI is enabled, GPT-4.1 maps columns accurately and enables natural language transforms like "fix all phone numbers" or "split full names into first and last". LLMs are good at understanding messy, semi-structured data.

GitHub: https://github.com/importcsv/importcsv Playground: https://docs.importcsv.com/playground Demo (90 sec): https://youtube.com/shorts/Of4D85txm30

What's the worst CSV you've had to import?