Write XML. Get editable PPTX. pom turns declarative markup into native PowerPoint slides with Flexbox layout, 18 built-in node types, and first-class AI support.
Simple XML structure designed for LLM code generation. Include llm.txt in your system prompt for XML reference.
Describe slides as XML. No imperative API calls needed — just data in, PPTX out.
Flexbox-style layout with VStack / HStack, powered by yoga-layout.
18 built-in node types: charts, flowcharts, tables, timelines, org trees, and more.
Generates real editable PowerPoint shapes — not images. Recipients can modify everything.
Define headers, footers, and page numbers once — applied to all slides automatically.
Describe your slides in XML and generate native PowerPoint files with a single function call.
import { buildPptx } from "@hirokisakabe/pom";
const xml = `
<VStack w="100%" h="max" padding="48" gap="24" alignItems="start">
<Text fontSize="48" bold="true">
Presentation Title
</Text>
<Text fontSize="24" color="666666">
Generated with pom
</Text>
</VStack>
`;
const { pptx } = await buildPptx(xml, { w: 1280, h: 720 });
await pptx.writeFile({ fileName: "presentation.pptx" });From simple text to complex charts and diagrams — everything renders as native PowerPoint shapes.
1. Install
npm install @hirokisakabe/pom2. Generate
const { pptx } = await buildPptx(xml, { w: 1280, h: 720 });
await pptx.writeFile({ fileName: "presentation.pptx" });3. For AI agents
Include llm.txt in your system prompt for a compact XML reference designed for LLMs.