HTML Viewer

View static HTML and CSS directly inside PowerPoint and Excel. Save polished snippets with the document so status pages, briefs, mockups, and references stay in context.

Why teams use HTML Viewer

Some Office documents need more than plain text or screenshots. HTML Viewer gives you a focused place to paste a self-contained HTML page and keep the rendered result beside the slide or workbook where the conversation is happening.

The add-in saves the HTML with the document and renders it in a sandboxed iframe, so the page stays portable without injecting your pasted HTML into the parent Office add-in page.

Features

PowerPoint and Excel support

Use the same content add-in in slides and workbooks.

Saved per-document HTML

Reopen the file later and keep the pasted HTML source with the document.

Static rendering surface

Render HTML and CSS in a sandboxed iframe without running pasted scripts.

Clean editing workflow

Open the editor, paste the source, save, and collapse the toolbar for more room.

Sample

Copy the HTML from the left column, paste it into HTML Viewer, and the add-in will render the same static page shown on the right. This snippet is self-contained: HTML, CSS, and content in one block.

Slide card HTML

Rendered preview

Tip: Write your HTML to fill the whole frame

Fixed-size HTML can waste space in a large frame and make text collide when the add-in is resized smaller. The two screenshots below show both problems.

Large frames: a centered fixed card leaves unused slide space around the content.
Fixed-size HTML card that does not fill the whole frame
Small frames: fixed text can run into nearby content instead of scaling down.
Fixed-size HTML text collides with footer content in a small frame

Treat the iframe like the slide. Make the outer shell fill the viewport, then reserve a flexible middle row with minmax(0, 1fr) so panels, charts, or tab content do not push into footer content.

body {
  margin: 0;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
}

.slide-card {
  width: 100vw;
  height: 100vh;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
}

Put the important text sizes in CSS variables. Use readable clamp() baselines for normal frames, then reduce only the necessary values in a short-height media query.

:root {
  --title-size: clamp(34px, 8.4vmin, 96px);
  --body-size: clamp(18px, 3.2vmin, 32px);
  --label-size: clamp(14px, 2.4vmin, 20px);
}

@media (max-height: 420px) {
  .slide-card {
    --body-size: 12px;
    --label-size: 11px;
  }
}

Common use cases

Frequently asked questions

Can I use CSS?

Yes. Put the CSS in a style tag inside the pasted HTML so the snippet stays self-contained.

Will JavaScript run?

No. HTML Viewer renders pasted source in a sandboxed iframe without script execution.

Does the HTML stay with the document?

Yes. The add-in saves the HTML source in document settings so it is available when you reopen the file.

What should I avoid putting in snippets?

Avoid depending on private images or stylesheets unless everyone opening the file can access them.

Ready to keep the right HTML in view?

Open HTML Viewer, paste a self-contained snippet, and keep the rendered page beside the Office content it supports.