Open a Word document in your browser
Free, no sign-up, and the file never leaves your computer.
Drop a .docx file above and it opens. It is not sent to a server, because there is no server involved: the parser and the renderer are JavaScript running in this page.
Pages break where Word breaks them, because the content is measured after it is laid out rather than trusting the hints stored in the file. Text stays selectable and searchable — this is a rendered document, not a picture of one.
Why a .docx has no pages in it
A Word file does not store pages. It stores a continuous flow of paragraphs plus the rules for how wide a page is, and Word works out the breaks each time it opens the document — which is why the same file can paginate differently on two machines with different fonts. Most browser viewers sidestep this by trusting `lastRenderedPageBreak`, a hint Word leaves behind from the last time it was opened; that hint is stale the moment anything changes. This viewer measures the rendered line boxes and breaks pages from the measurement, which is the only way a page number in a footer can be right.
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.
Text and styles
Structure
Tables
Lists
Graphics
Fields and equations
Revisions
What this does not do
Every renderer has a list like this. Most do not publish it.
- Tab stops are approximated; explicit stop positions are not yet honoured.
- Text wrapping around anchored drawings uses CSS floats — close to Word’s wrap polygons, but not identical.
- East Asian numbering formats fall back to decimal.
- Embedded fonts are declared but not yet decrypted and installed.
- Encrypted documents are detected but cannot be opened.
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 document 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.
- Do I need Microsoft Word installed?
- No. Nothing is installed and no account is needed. The file is read directly from the bytes of the .docx, which is a ZIP archive of XML parts.
- Can I open old .doc files too?
- Yes, on the .doc page. The 97-2003 binary format is read directly rather than converted, so it lands in the same viewer.
- Will it look exactly like Word?
- Close, and measurably so — rendering is scored against Word’s own PDF export across a corpus of third-party documents. It is not identical. Tab stops are approximated, and text wrapping around floating images uses CSS floats rather than Word’s wrap polygons.
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. Word and its other generation are one package.
import { DocumentViewer } from '@genomdev/react';
<DocumentViewer file={file} fit="width" />;