Open any spreadsheet in your browser — sheet tabs, formulas, a million rows, zero uploads
| Format | Opens? | Notes |
|---|---|---|
| .xlsx / .xlsm (Excel 2007+) | Yes | The modern default; formulas, dates, and multi-sheet workbooks |
| .xlsb (binary Excel) | Yes | Excel's compact binary format, fully parsed |
| .xls (Excel 97–2004) | Yes | Legacy workbooks, including BIFF records |
| .ods / .fods (LibreOffice, OpenOffice) | Yes | Both zipped and flat OpenDocument spreadsheets |
| .csv / .txt | Yes | Sniffs the delimiter; shows as a single-sheet grid |
| Password-protected workbooks | No | Encrypted files can't be parsed without the key — no viewer ignores that |
Excel's grid ceiling, for reference: 1,048,576 rows (220) by 16,384 columns (214, ending at XFD) per sheet, sheet names up to 31 characters. The viewer handles all of it — the virtualized renderer doesn't care how deep the sheet goes.
There's no magic in "open Excel online" — and no reason for it to involve a server. An XLSX file is a zip of XML; a parser reads it into cells, and a grid displays them. This page does both locally: SheetJS (the same open-source engine embedded in data tools across the industry) parses the file, and a virtualized HTML grid renders it.
A naive viewer builds one DOM row per spreadsheet row, and DOM nodes are expensive — a 100,000-row sheet would hang the tab. This grid renders a window instead: 28 pixels per row, 480-pixel viewport, six rows of overscan on each side, so 25 rows at the top of a sheet and 31 once you're scrolling. Everything outside the window is one tall spacer div — a 5,000-row sheet is a 140,000-pixel scroll surface with about 30 rows of real DOM underneath; the full 1,048,576-row Excel maximum would be a 29,360,128-pixel surface with the same 31 rows drawn. Scrolling just moves the window; the row count never matters.
=B2*C2 instead of 39.96. Numbers align right, formulas tint blue.A small order workbook: one sheet named Order, four columns (Item, Qty, Unit Price, Total), three data rows. The parser reports used range A1:D4 — 4 rows × 4 columns — and finds three formula cells. Cell D2 holds =B2*C2 with cached result 39.96 (4 Widgets at $9.99); D3 holds 49 (2 Gadgets at $24.50); D4 holds 22.75 (7 Sprockets at $3.25). In value view the grid shows 39.96 / 49 / 22.75 right-aligned; flip Formula view and the same three cells show their expressions. Scale the lesson: the identical grid code renders this 4-row workbook and a 5,000-row export, because the DOM only ever holds the ~30 rows you're looking at.
Drag the file into a browser-based viewer. This one parses the workbook locally with SheetJS — the open-source engine behind spreadsheet support in hundreds of tools — and renders it as a grid with sheet tabs, row numbers, and column letters, just like Excel's normal view. It handles XLSX, XLSM, XLSB, old XLS, ODS, and CSV, and it works without installing anything, including on Chromebooks and locked-down work machines.
They display, they don't recalculate. Excel files store each formula's last computed result alongside the formula itself, and the viewer shows those cached results — which is what you see on screen. Toggle Formula view to see the expressions (=B2*C2). Files generated by programs that skip caching results show blank cells in value mode and the formula text in formula mode; opening and re-saving in Excel restores the cached values.
Far larger than a normal table could render, because the grid is virtualized: it draws only the rows near the viewport — roughly 25 to 31 rows at a time — no matter how many the sheet contains. A 5,000-row sheet becomes a 140,000-pixel scroll surface with about 30 rows of real DOM; scrolling through a full 1,048,576-row sheet renders the same ~31 rows per frame. The practical limit is your machine's memory for parsing, typically fine into the tens of megabytes.
No — this is a viewer, built for the "I just need to see what's in this file" case. For transformations, our converters do the job locally too: CSV to Excel builds workbooks, CSV to JSON exports data, and Excel to PDF turns a sheet into a printable document. For editing, LibreOffice Calc is the free desktop answer, or Google Sheets after an import.
Yes. Every sheet in the workbook gets a tab at the top of the grid; click to switch. The status line shows the active sheet's used range (A1:D4 style), row and column counts, and how many formula cells it found.
No. The parser is SheetJS loaded from this site and executed in your browser; the file is read with the File API and never transmitted. Budgets, payroll, client lists — they stay on your machine, and the viewer keeps working offline once the engine has loaded.