100% local: All parsing and conversion run in Web Workers. No uploads.
Format support: CSV ↔ Excel (.xlsx), JSON, SQL, XML, Markdown.
Smart column restoration: Fixes copied tables that collapse into a single column (enable under “More Options”).
No size limits: Only limited by your RAM.
My goal is to grow this into a small, one-stop CSV/format toolbox. It just launched, so there may be rough edges — feedback is welcome.
Tech
Next.js, Tailwind, SheetJS, Web Workers, i18next.
Looking for feedback
Try it with your odd CSVs: unusual delimiters, quoted newlines, mixed encodings, huge files, broken pasted tables. Also curious whether the column-restoration feature feels intuitive.
Thanks for checking it out!
mattewong•2mo ago
So, maybe you did not intend it to be so, but to me the site comes off as being very sketchy and untrustworthy.
nighwatch•2mo ago
You raised fair points about the mixed messaging, and I’ve just pushed updates to address them:
• Privacy Policy & data collection: You're right that the tagline “we never collect data” was too absolute. I do use standard analytics (GA) for anonymous usage metrics and error tracking. The Privacy Policy now clearly separates File Data — which is processed 100% locally and never leaves the browser — from Usage Metadata, which is anonymized and collected only for understanding feature performance.
• Network activity: The POST requests you saw come solely from those analytics libraries. No file contents, pasted text, or conversion results ever hit the network. I’ll also review whether I can reduce or defer analytics calls to make this more transparent.
• Visibility of terms: Agreed. I’ve added a prominent Privacy/Terms link in the header and a first-visit consent banner so users aren’t relying on a tiny footer link or assumptions.
• Offline behavior: The conversion logic runs entirely in Web Workers and doesn’t require a server, but my PWA config wasn’t robust enough to guarantee a clean offline startup. I’m working on tightening that up so users can verify the “local-only” behavior themselves.
None of this was intended to be sketchy — I simply oversimplified the marketing copy and didn’t surface the right information. I really appreciate you calling it out and giving me the chance to improve it.