Open an Excel workbook in your browser
Free, no sign-up, and the file never leaves your computer.
Drop an .xlsx above. Both axes are virtualised, so a sheet with a million rows opens as quickly as one with ten.
Numbers are shown the way Excel would show them, not the way the file stores them — the format code is evaluated, not approximated.
A spreadsheet stores a number, not what you see
A cell holding a date stores 45292 and a format code. What you are meant to see is the result of applying one to the other, and the grammar of those codes is far larger than it looks: four sections chosen by the value’s sign, conditions, digit placeholders, thousands scaling, fractions with computed denominators, elapsed-time brackets, localised month names. Viewers that approximate it get dates, currencies and negatives wrong in ways that look plausible — which is worse than failing. There is also the 1904 date system, which shifts every date in the file by four years and is the first thing a viewer gets wrong.
Everything below is parsed from the file, not approximated
Read from the bytes the format actually stores, into a model that does not know which generation produced it.
Workbook
Number formats
Values and formulas
Formatting
Layout
Conditional formatting
Beyond the grid
What this does not do
Every renderer has a list like this. Most do not publish it.
- The formula library covers 300 functions; the long tail reports #NAME? rather than failing.
- There is no dependency graph, so a workbook cannot be recalculated as a whole — only individual formulas evaluated on demand.
- Charts are placed and labelled but not yet drawn.
If a file of yours renders wrong, send it to admin@genom.dev. It joins the corpus everything is measured against, which is what makes a fix stay fixed.
Things people ask
- Is my workbook uploaded anywhere?
- No. The file is opened by JavaScript running in this tab and is never sent anywhere — there is no upload, no server-side conversion and no copy kept. You can confirm it: open your browser’s network panel, then open a file. Nothing leaves. This also means the page works with no connection at all once it has loaded.
- Are formulas shown or calculated?
- Both, within limits. Every cell shows the formula it really holds — shared formulas are expanded by translating the master’s references rather than showing the top of the column’s formula everywhere. Individual formulas can be evaluated on demand across about 300 functions. There is no dependency graph, so the workbook is not recalculated as a whole.
- How large a file can it open?
- Large. Rows and columns are both virtualised and inflated ZIP entries are held under a memory budget, so size is limited by your machine rather than by the viewer holding everything at once.
- Are charts drawn?
- Not yet. Charts are placed and labelled where they belong, and their underlying numbers are readable, but the chart itself is not rendered.
The viewer, and the parser on its own
The parser produces a model that knows nothing about CSS or the DOM, so the same call runs in Node for extraction, search and conversion. Excel and its other generation are one package.
import { DocumentViewer } from '@genomdev/react';
<DocumentViewer file={file} fit="width" />;