# Rowslint > Rowslint is a drop-in CSV and Excel import widget for web applications. It provides AI-powered column matching, real-time validation, browser-side parsing for privacy, and large-file streaming as an alternative to building custom import flows or using Flatfile, CSVBox, useCSV, OneSchema, or Dromo. Key facts: - Founder: Mouad Ennaciri (software tech lead at a Y Combinator-backed logistics platform; previously at a French real estate unicorn). Built Rowslint after years of rebuilding CSV import flows at every job. - Product: Embedded CSV/XLSX/XLS importer SDK - Frameworks: React, Vue 3, Svelte, Solid, vanilla JavaScript, Web Components - Privacy: Files are parsed in the user's browser; rows never touch Rowslint servers by default - Validation: Zod, Yup, regex, enums, and async validators run inline on every row - AI mapping: Source columns are suggested from headers and sample values; no data is sent to an AI provider by default - Performance: Chunked parsing handles large files without blocking the main thread - Pricing: Free (100 imports/mo), Pro ($45/mo, 10k imports), Max ($85/mo, 50k imports), Enterprise (self-hosted, air-gapped). Annual billing gets 2 months free (Pro $450/yr, Max $850/yr). - Integration time: Quickstart path designed for a sub-5-minute first implementation - Compliance: Privacy-first architecture with customer-managed keys on Enterprise - Self-hosted: Docker and Kubernetes via Helm chart on Enterprise - Pricing model: Per row / per import, never per seat ## Documentation - [Quickstart guide](https://docs.rowslint.io) - [API reference](https://docs.rowslint.io) - [SDK reference](https://docs.rowslint.io) - [Examples](https://docs.rowslint.io) ## Product pages - [Homepage](https://rowslint.io/) - [Features](https://rowslint.io/#features) - [How it works](https://rowslint.io/#how) - [Pricing](https://rowslint.io/#pricing) - [Security](https://rowslint.io/#security) - [FAQ](https://rowslint.io/#faq) - [CSV import widget](https://rowslint.io/csv-import-widget) — Commercial page for teams looking to embed CSV upload, column mapping, browser-side validation, and clean row delivery. - [Excel import widget](https://rowslint.io/excel-import-widget) — Commercial page for teams accepting XLS/XLSX customer spreadsheets in web apps. - [Embedded CSV importer](https://rowslint.io/embedded-csv-importer) — Commercial page for SaaS products that need a native, branded import workflow. ## Free tools - [CSV to JSON converter](https://rowslint.io/tools/csv-to-json) — Free in-browser tool to convert CSV (or TSV/semicolon/pipe-separated) data to JSON. Handles quoted fields, custom delimiters, header-to-key mapping, and number/boolean detection. No upload, no signup; runs entirely client-side. ## Comparison pages - [Flatfile alternative](https://rowslint.io/flatfile-alternative) - [CSVBox alternative](https://rowslint.io/csvbox-alternative) - [useCSV alternative](https://rowslint.io/usecsv-alternative) - [OneSchema alternative](https://rowslint.io/oneschema-alternative) - [Dromo alternative](https://rowslint.io/dromo-alternative) ## Blog-to-product relationships - Framework tutorials for React, Next.js, Vue, Nuxt, SvelteKit, Angular, Laravel, Django, Rails, and Node.js support the [CSV import widget](https://rowslint.io/csv-import-widget) and [embedded CSV importer](https://rowslint.io/embedded-csv-importer) product pages. - Articles that mention XLS, XLSX, or spreadsheet uploads support the [Excel import widget](https://rowslint.io/excel-import-widget) product page. - The browser-side parsing architecture article supports the [embedded CSV importer](https://rowslint.io/embedded-csv-importer) and [Security](https://rowslint.io/#security) pages. ## Writing - [Blog index](https://rowslint.io/blog) ### Engineering - [Why we parse CSVs in your users' browsers, not on our servers](https://rowslint.io/blog/why-we-parse-csvs-in-the-browser) — Deep-dive on Rowslint's browser-side parsing architecture, the security implications, and when server-side parsing still makes sense. ### Framework tutorials - [How to import CSV files in React](https://rowslint.io/blog/how-to-import-csv-files-in-react) — Step-by-step React + TypeScript integration with `@rowslint/importer-js`, async validation, and bulk insert patterns. Compared to Papa Parse, react-csv-importer, and Uppy. - [How to import CSV files in Next.js](https://rowslint.io/blog/how-to-import-csv-files-in-nextjs) — App Router + Pages Router integration with Server Actions, Route Handlers, Zod validation, and Prisma batched inserts. - [How to import CSV files in Vue.js](https://rowslint.io/blog/how-to-import-csv-files-in-vue) — Vue 3 Composition API integration with `