Show HN: CSVtoAny, CSV Local File Converter
3 points| nighwatch | 2 months ago |csvtoany.com
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|2 months 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|2 months 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.