Convert CSV files in your browser. Nothing leaves your device.
Part of the Ask Jeeves Modules monorepo. Production URL: https://csv.askjeeves.cc
| Package name | csv-tools |
| Source format | CSV |
| Conversions | 2 enabled |
- CSV → JSON
- CSV → Excel (XLSX)
All conversion runs in your browser. Files are never uploaded to a server. Shared UI and validation live in @askjeeves/ui and @askjeeves/conversion-core. This folder only wires tool.config.ts to processor functions.
See docs/UI-AND-SEO-ARCHITECTURE.md for the UI and SEO architecture (page composition, meta tags, JSON-LD, llms files, and build pipeline).
- Node.js ≥ 22.12
- pnpm 10.27+
From the repository root:
pnpm install
pnpm --filter csv-tools devOpens http://localhost:4321 by default.
pnpm --filter csv-tools buildStatic output: tools/csv-tools/dist/ (index.html plus _astro/ assets).
Serve the build output (do not open index.html via file:// — ES modules require a server):
pnpm --filter csv-tools previewOr:
cd tools/csv-tools
npx serve dist -p 4321Then open http://localhost:4321.
Cloudflare Pages:
pnpm --filter csv-tools deploySee docs/deployment.md.
pnpm test
pnpm test:e2eUnit tests verify processor/config alignment. E2E tests cover conversion flows and SEO head tags, structured data, and static files.
Failures appear in #tool-status with accessible error styling. Common cases:
| Situation | What to do |
|---|---|
| Wrong file type | Upload a CSV file |
| File too large | Use a smaller file (max ~50 MB, lower for some conversions) |
| Invalid file content | Use a valid CSV file |
| Conversion failed | Try different options or another file |
| Cancelled | Click Convert again |
| Load / engine error | Refresh the page |
Full error contract: docs/error-handling.md.
Do not copy tools/csv-tools/ directly into a new repo. That folder uses workspace:* dependencies that only resolve inside the monorepo; npm install will produce a broken node_modules tree.
To export this tool as its own repo (vendored @askjeeves/* deps, no monorepo):
node scripts/export-standalone-tool.mjs csv-tools ./export/csv-tools
cd export/csv-tools
pnpm build
pnpm previewThe export script vendors shared packages under vendor/@askjeeves/, rewrites deps to file: paths, and generates pnpm-lock.yaml. Use pnpm, not npm.
See docs/sub-projects.md and STANDALONE.md in the export output.