hn.today

500M CSV rows in a browser tab at ~1 GB RAM. no row limit, zero deps, no server

github.com12 points1 comments
Screenshot of 500M CSV rows in a browser tab at ~1 GB RAM. no row limit, zero deps, no server

Office Engine is a zero-runtime-dependency JavaScript library for opening, viewing, editing, and saving office and text-based files entirely in a browser. It supports editing DOCX, XLSX, and PPTX; viewing Apple Pages, Keynote, and Numbers files; and opening CSV, TSV, text, Markdown, HTML, SVG, and diagram formats. Parsing, rendering, formulas, and diagram layout run in a Web Worker, while virtualized views and progressive loading keep the interface responsive. The project also includes comments, dark mode, real-time collaboration, and React, vanilla JavaScript, and web-component embedding options. Edited office files retain unchanged original content, reducing what must be regenerated when saving.

Its standout claim is that CSV files have no fixed row limit: the first rows appear quickly, and after 12 million cells, additional rows are read from the file as needed rather than kept in memory. Benchmarks measured in headless Chromium on an Apple M-series machine report that a 55 GB CSV with 500 million rows and 10 columns opens in about 4.5 minutes, with the browser tab staying below 1 GB of RAM; a 100-million-row file takes roughly 50 seconds. A 300,000-row XLSX opens in about two seconds, and a 305-slide presentation renders on demand. These figures describe the project’s reported tests, while the library’s broad format support and editing capabilities make it relevant to developers building browser-based document tools without a server.

Read on github.com1 comments on Hacker News

Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.

More in Programming

The daily digest

Today's best Hacker News stories, summarized and screenshotted, one email a day.