Skip to content
Genom

Open a PowerPoint deck in your browser

Free, no sign-up, and the file never leaves your computer.

Samplesample.pptx
Loading the viewer…
Also opensDrop any of them on the viewer above — the format is recognised from the bytes.

Drop a .pptx above. Slides are drawn from their shapes rather than shown as images, so text stays selectable and searchable.

Nothing is uploaded and nothing is converted to images on a server.

How the format actually works

Why a deck can be rendered more exactly than a document

A slide has no pagination to disagree about. Every shape carries absolute coordinates in EMU — English Metric Units, 914,400 to the inch — on a canvas of a fixed size, which removes the single hardest problem in document rendering. That is why the presentation renderer is measured against PowerPoint’s own PDF export as ink against ink, page image compared to page image, rather than as words against words. What remains hard is inheritance: a placeholder’s properties come down a master → layout → slide chain, and getting the chain wrong moves text somewhere plausible but wrong.

What is supported

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.

Slides and layouts

The master → layout → slide inheritance chain, placeholders resolved through it, slide size and orientation, speaker notes, and hidden slides.

Shapes and text

Preset geometries, fills, outlines, grouped shapes, text bodies with paragraph and run properties, bullets and autonumbered lists, and text set on its side.

Tables and charts

Table styles with their conditional blocks, and DrawingML charts drawn by the shared @genomdev/office-core package — the chart part is identical in Word, Excel and PowerPoint, and so is the code that draws it.

Theme

Colour maps and overrides, the theme font slots, and the effect and format schemes shapes refer to.
Being straight with you

What this does not do

Every renderer has a list like this. Most do not publish it.

  • SmartArt without a cached drawing falls back to the text of its data model.
  • WordArt warping (a:prstTxWarp) renders as straight text at the declared size.
  • Three-dimensional scenes (a:scene3d, a:sp3d) render flat, in place.
  • Animations and transitions are ignored — this is a viewer, not a player.

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.

Questions

Things people ask

Is my presentation 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 animations and transitions play?
No. This is a viewer, not a player — slides are shown in their final state. Animations and transitions are read and ignored.
Does SmartArt render?
When the file contains a cached drawing, yes. When it does not, the text of the underlying data model is shown rather than nothing.
Are speaker notes visible?
Yes, they are parsed along with the slides and can be shown beside them or extracted as text.
Using it in your own code

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. PowerPoint and its other generation are one package.

import { DocumentViewer } from '@genomdev/react';

<DocumentViewer file={file} fit="width" />;