A free, browser-based tool for analyzing, querying, and repairing broken or oversized CSV files. No file uploads — everything runs locally in your browser. Your data never leaves your machine.
- Massive file support — Load and browse CSV files with millions of rows using virtual scrolling
- Inline cell editing — Double-click any cell to edit. Navigate with Tab, Enter, Escape
- Undo / Redo — Full edit history with up to 50 steps (Ctrl+Z / Ctrl+Y)
- Search & Replace — Find and replace across all cells with match highlighting (Ctrl+F)
- SQL queries — Run SQL queries directly on your CSV data using AlaSQL
- Auto-repair — One-click fix for whitespace, empty rows, and common issues (Ctrl+Shift+R)
- Repair templates — Standardize dates, lowercase emails, normalize phone numbers, fix encoding, remove duplicates, and more
- Column statistics — View total, unique, empty counts, detected data type, min/max/avg for numeric columns
- Column charts — Histogram for numeric data, pie chart for categorical data (powered by Recharts)
- Health diagnostics — Instantly identify structural issues, malformed rows, and encoding problems
- Context menu — Right-click to add/delete rows and columns
- Column sorting — Sort ascending, descending, or reset
- Change diff preview — Review all changes before exporting
- Dark / Light mode — Toggle between themes, preference saved in localStorage
- Keyboard shortcuts — Full shortcut support (press
?to view all) - CSV export — Download the repaired file
- Drag & drop — Drop a CSV file anywhere to load it
- PWA — Installable as a Progressive Web App on Android and iOS
- 100% client-side — No server, no uploads, no tracking. Your data stays private.
- React + TypeScript
- Vite — build tool and dev server
- Tailwind CSS — styling
- PapaParse — CSV parsing with Web Workers
- AlaSQL — SQL queries on in-memory data
- Recharts — data visualization
- wouter — lightweight routing
- Node.js 18+ and npm
git clone https://github.com/hsr88/csv-repair.git
cd csv-repair
npm installnpm run devThe app will be available at http://localhost:5000.
npx vite buildThe output will be in dist/public/.
client/
├── index.html # HTML entry point with SEO meta tags
├── public/
│ ├── favicon.png # App icon
│ ├── og-image.png # Open Graph social sharing image
│ └── manifest.json # PWA manifest
└── src/
├── App.tsx # Router setup
├── main.tsx # Entry point
├── pages/
│ ├── csv-repair.tsx # Main CSV repair tool (editor, SQL, charts, templates, health check)
│ ├── blog.tsx # Blog listing and article pages
│ ├── about.tsx # About page
│ ├── faq.tsx # FAQ page
│ └── privacy-policy.tsx # Privacy Policy
├── data/
│ └── blog-posts.ts # Blog article content
└── components/
├── navigation.tsx # Header, footer, and responsive navigation
└── theme-provider.tsx # Dark/light theme toggle
| Route | Description |
|---|---|
/ |
Main CSV repair tool |
/blog |
Blog — guides and tutorials |
/blog/:slug |
Individual blog article |
/about |
About the project |
/faq |
Frequently asked questions |
/privacy |
Privacy policy |
| Shortcut | Action |
|---|---|
Ctrl+Z |
Undo |
Ctrl+Y |
Redo |
Ctrl+F |
Search & Replace |
Ctrl+S |
Export CSV |
Ctrl+Shift+R |
Auto-Repair |
? |
Show all shortcuts |
Contributions are welcome! Feel free to open issues and pull requests.
- Fork the repository
- Create your feature branch (
git checkout -b feature/my-feature) - Commit your changes (
git commit -m 'Add my feature') - Push to the branch (
git push origin feature/my-feature) - Open a Pull Request
If you find this tool useful, consider supporting development:
MIT
Made by hsr88
