html2pptx

Convert rendered HTML pages into native PowerPoint files with editable text and shapes.

2.6k|143|Updated Apr 27, 2026
One-click install
npx skills add https://github.com/microsoft/ResearchStudio --skill html2pptx
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: html2pptx
Source: https://github.com/microsoft/ResearchStudio/tree/main/ResearchStudio-Reel/skills/paper2poster/html2pptx
Command: npx skills add https://github.com/microsoft/ResearchStudio --skill html2pptx

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires python-pptx, playwright, pdf2image, lxml, Pillow, pyphen, cairosvg, and includes scripts (resource) components.

What problem does it solve?

Converting an HTML page or A0 conference poster into PowerPoint usually produces a flat image-in-slide or a broken layout from generic PDF converters. This Skill walks the live DOM via headless Chromium and rebuilds the page as a native .pptx with editable text boxes, pictures, and shapes, preserving fonts, colors, gradients, bullets, and layout at roughly 95% visual fidelity.

Core Features & Use Cases

  • DOM-based conversion: Extracts block-level text containers as TextBoxes with inline bold/italic runs, images with object-fit:contain handling, and decorative divs as rectangles with gradients, borders, and shadows.
  • Fidelity tooling: Normalizes modern CSS colors via canvas, converts hyphens:auto to OOXML soft hyphens, emits native bullets with hanging indent, and auto-resolves fonts from a sibling PDF or Google Fonts.
  • Vision-audit loop: Optionally diffs the HTML render against the PPT render with Claude vision, producing a structured issue report, plus an autonomous fix loop that patches an isolated copy of the converter.
  • Use Case: A researcher finishes an A0 poster as poster.html and needs an editable poster.pptx to hand off to a collaborator who only uses PowerPoint.

Quick Start

Ask the assistant to convert your poster.html file into an editable PowerPoint using the html2pptx skill, for example: "Convert my poster.html into an editable .pptx with matching fonts and layout."

Frequently Asked Questions about html2pptx

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I convert an HTML poster to an editable PowerPoint file?

Run python -m scripts.auto_correct_loop --html /path/to/poster.html after installing the requirements. It extracts the DOM via headless Chromium, builds a native .pptx with python-pptx, and renders comparison PNGs for verification.

How is this different from PDF to PPTX converters like iLovePDF?

Pixel-based converters rasterize the page and OCR text back into shapes, breaking lists, highlights, and bold runs. This converter walks the live DOM, so bullets become native OOXML list markers, highlights become run properties, and gradients stay editable.

Why do fonts look wrong when I open the pptx on another machine?

The .pptx references fonts by name without embedding them, so viewers must have the same fonts installed. Posters using Arial or other PPT-safe families are portable as-is; the optional Inter webfont requires installation or the font_embedder script.

Does the HTML to PPT conversion support math equations and SVG?

SVG images are rasterized to PNG via cairosvg before embedding. MathJax equations are rasterized to PNG screenshots during extraction because native OMML slide math only renders in Microsoft PowerPoint, not LibreOffice or Keynote.

What are the limitations of converting HTML to PowerPoint?

CSS transforms, filters, animations, and video do not translate to PPT shapes. Font embedding is not yet implemented, and soffice renders can diverge from real PowerPoint, so final files should be checked in actual PowerPoint.