Define “editable” before choosing an export
Opening is not the same as editing
An AI slide deck is a presentation produced from a prompt, source material, or both. A file can open as .pptx while every slide is only one bitmap. In that case, a client cannot change a heading, number, or chart in PowerPoint. “Opens in PowerPoint” and “can be edited in PowerPoint” are different requirements.
📑Table of Contents
Decide who edits, then treat native vs bitmap
Decide who will perform the final edits and exactly where those edits must occur.
The pre-delivery choice is binary.
| Contents | When you click | Treat it as |
|---|---|---|
| Native text and shapes | Heading and chart select independently | Editable PPTX |
| Bitmap (image slides) | The whole slide is one image | Image deliverable; switch conversion path |
Confirm with a desktop click
Next action:
- Open the candidate
.pptxin desktop PowerPoint, not a web preview. - Click one heading and one chart.
- If those objects select independently, keep native editable PPTX. If they do not, treat the file as image slides and switch the conversion path.
Four ways an AI export breaks
Why HTML and PowerPoint diverge
Many AI presentation tools first render HTML and CSS inside a browser, then approximate that result in PowerPoint OOXML. The two layout models do not match perfectly.
Typical failure modes
| Failure | What you see | Likely cause |
|---|---|---|
| Font substitution | Arial or Calibri replaces the design font | Web font was not embedded |
| Lost animation | Builds and transitions disappear | CSS animation has no matching OOXML representation |
| Text collision | Boxes overlap or text overflows | Flex/Grid and fixed-box measurements differ |
| Rasterized slide | Heading and chart cannot be selected | The whole slide became an image |
The 2Slides analysis describes this as a Web-first export problem. Rasterization is especially easy to miss because the file opens normally. It still fails an editing requirement.
Choose the path from the handoff
Match the format to the last editor
Keep a Web-first deck when the goal is only presentation and sharing. Use native PPTX or a rendered-DOM-to-shape path when a customer or teammate must edit line by line. A page-per-image path is suitable only when the agreed deliverable is fixed artwork, because corrections then require full regeneration.
| Final task | Suitable format | First check |
|---|---|---|
| View and share | HTML / web deck | Browser rendering and access |
| Edit in PowerPoint | Native PPTX | Headings and charts select separately |
| Convert existing HTML | DOM-measured HTML-to-PPTX | Final coordinates, fonts, and CORS |
| Preserve appearance | Image or PDF | Editing is explicitly out of scope |
Check the file, not repository popularity
Repository popularity does not guarantee editable output. Check the license, fonts, image rights, and actual correction scope inside the exported file.
Run the 90-second click test
- Pick a slide with a non-default font, body text, and a chart.
- Open the
.pptxin desktop PowerPoint, not only a web preview. - Click the heading and check whether a text cursor or text box appears. Click the chart and check whether its series and values can be selected.
- Check for Calibri substitution and a single full-slide image.
If the heading, body, and chart remain separate objects, that portion is at least editable. If the file opens but nothing meaningful can be selected, treat it as a raster export. A PDF-to-PPT route can help non-developers, but inspect several slides for margin and font-substitution problems.
Convert rendered HTML into editable shapes
Measure rendered DOM, not a screenshot
dom-to-pptx takes a different route from a screenshot: it reads computed styles from a rendered DOM and maps text and shapes into PowerPoint objects.
- Install with
npm install dom-to-pptx. - Group multiple pages as
.slideelements and fix a 1920×1080 canvas and 16:9 ratio before measuring. - Render each slide and wait for fonts, images, CORS-ready assets, and a stable browser viewport.
- Call
exportToPptx.
Separate measurement from drawing
The library measures final x/y/width/height rather than re-parsing Flexbox and Grid. That makes rendered state, Web-font loading, image CORS, and a stable browser viewport prerequisites. PptxGenJS is a drawing API; it does not by itself decompose arbitrary HTML into editable objects. Choose the DOM-measurement or direct-drawing layer according to the source of the deck.
Frequently asked questions
Why does an AI deck look different from its preview?
The HTML/CSS layout is approximated in PowerPoint boxes.
How can I spot an image slide?
Open it in desktop PowerPoint and click a heading and chart. If they cannot be selected as independent text and data objects, the content is likely rasterized.
What is the shortest HTML-to-PPTX route?
Render the DOM, wait for fonts and images, then pass it through dom-to-pptx. A PDF-to-PPT route is an alternative, but it needs a visual and editing sample check.
Will Japanese fonts survive?
Only if the font is embedded or installed in the target environment. Test Noto Sans JP, Yu Gothic, or Meiryo on the actual recipient device.
Is PptxGenJS enough to convert HTML?
It draws objects from supplied coordinates.
Related articles:
Summary
Choose the deliverable by editability, not by the .pptx extension. Open the file in desktop PowerPoint, click one heading and one chart, keep native editable PPTX only if those objects select independently, and otherwise treat it as image slides and switch the conversion path. Check fonts, CORS, and rendering completion before handoff.
Author
krona23
Over 20 years in the IT industry, serving as Division Head and CTO at multiple companies running large-scale web services in Japan. Experienced across Windows, iOS, Android, and web development. Currently focused on AI-native transformation. At DevGENT, sharing practical guides on AI code editors, automation tools, and LLMs in three languages.
🔥 Most Popular
- Obsidian Visualization Tools: Graph, Canvas, Excalidraw (2026)
- Claude Desktop Won't Install? Windows & Mac Fixes That Worked (2026)
- Claude Code CLI vs Web vs Desktop: A Daily User's Guide (2026)
- Can an 8GB GPU Run a 35B MoE? Check Host RAM, Cache, and Speed
- Puppetmaster: How to Route Coding Agents by Cost










Leave a Reply