How to make a PowerPoint with Claude, and get a real .pptx back
Claude writes excellent slide content and structure, and Anthropic's Claude for PowerPoint add-in edits decks natively inside the app. But in a plain chat, Claude can't hand you a downloadable .pptx file. To get a real, editable PowerPoint out of a prompt or an agent run, you connect Claude to a tool like heydecks over MCP or REST and it returns the file.
I build heydecks, so I spend a lot of time watching how people actually try to pull slides out of Claude. The search "claude powerpoint" hides two different jobs: editing a deck you already have open, and getting a file out of a prompt or an agent. Those have different answers, and most of the frustration I see comes from treating them as one. Here is the honest version of both.
#Can Claude make a PowerPoint presentation?
Yes, but the word "make" is doing a lot of work, and it splits three ways. In a normal claude.ai chat, Claude writes the content and the slide-by-slide structure beautifully, then leaves you to put it into PowerPoint yourself. With Anthropic's official add-in, Claude edits a deck you already have open. And for a file generated from a prompt or by an agent with no human in PowerPoint, you need a separate tool that emits the .pptx.
So the model is not the bottleneck. Claude is genuinely good at the part that's hard for most people, which is deciding what each slide should say and in what order. What it can't do, sitting in a chat window, is serialize that into the binary XML format PowerPoint actually opens. That gap is the whole reason this post exists, and it's where most of the workarounds below come from.
#What is Claude for PowerPoint, and what does the add-in do?
Claude for PowerPoint is an official add-in from Anthropic that runs inside the PowerPoint app, available on the Pro, Max, Team, and Enterprise plans. You install it from the Microsoft Marketplace (search "Claude by Anthropic"), then chat with Claude in a sidebar while it reads and edits the deck open in front of you.
The useful part is that it respects your file. It reads your layouts, fonts, colors, and slide masters, then makes edits that match that formatting, and it builds native shapes and text boxes rather than dropping in flat images, so everything stays editable afterward. If you connect a Microsoft 365 account, it can pull numbers from an Excel workbook and build the slides in the same session. You can set it to ask before applying changes or to edit on its own. Anthropic's own help docs also flag a prompt-injection risk, since the model reads content you didn't write, so it's worth reading that note before pointing it at untrusted files.
Where it stops: it needs desktop PowerPoint, a paid plan, and a deck that already exists in front of a person. It's an assistant for someone working in PowerPoint, not an endpoint an agent can call. If your workflow is "a script or an agent needs a finished, branded deck back," the add-in isn't the shape that fits.
#Is Claude any good at writing the actual slides?
For the content, yes, and this is the part worth handing it. Give Claude a topic and it will draft a tight narrative: the argument, the order, the one line per slide that a room can actually follow. The workflow that practitioners on r/powerpoint keep landing on is to feed Claude a detailed treatment of the topic, ask for a text-only slide-by-slide storyboard first, review that, and only then build anything. The storyboard is where Claude earns its keep.
The honest caveat: left fully to its own devices, Claude tends toward dense, evenly-bulleted slides, the kind everyone has sat through. You steer it out of that with direction, not with a better model. Treat it as a writer and an editor of structure, and treat the rendering, the brand, and the file format as a separate problem. That separation is what makes the next two sections clean.
#What are the ways to get a .pptx out of Claude in chat, and where do they break?
Outside the add-in, people reach for four routes, and each one carries a real cost:
- Copy and paste the outline. Claude writes the deck text, you open PowerPoint and lay every slide out by hand. It works, and it's slow, and the formatting is on you.
- Ask for python-pptx or VBA. Claude will happily write code that builds a
.pptx. The code runs, but now you own a script, and the default output is plain unless you spend real time styling it. - Use an HTML artifact. Claude's artifacts render a nice-looking deck in the browser. It looks like slides; it isn't a PowerPoint file, and you can't open it in PowerPoint to edit.
- Build a Claude Code skill. A skill that calls python-pptx can produce a genuine downloadable file, and several people have shipped exactly that. You're maintaining a renderer and a template, which is fine if you enjoy that and a tax if you don't.
Notice the shared gap. None of these is one call that returns a finished, on-brand file. They each ask you to be the layout engine, the code maintainer, or the brand police. That's the job heydecks takes.
#How do you get a real .pptx from Claude?
The clean path is to give Claude a tool whose entire job is emitting the file. heydecks is the AI slide creator that AI agents call over REST or MCP. From a prompt, markdown, or a URL it returns a live deck link, a PDF, and a native, editable PowerPoint, every export locked to your brand by the Brand Kernel: your colors, fonts, logo, and layout tokens, which it can extract from a URL.
There are two ways to wire Claude to it. The first is MCP, where Claude designs the deck itself using the slide tools. Connect it once:
claude mcp add --transport http heydecks https://heydecks.com/mcpThen ask in plain language:
"List my slide templates, then build a 10-slide Series A pitch on brand 'Acme': problem, solution, traction, and the ask. Publish it."
Under the hood Claude calls list_slide_templates to learn the field schemas, writes the content itself, then create_deck and add_slides to build it in one shot, and publish_deck to make it live at /d/<slug>. heydecks is a structured store, not a second writer: your model writes every word, the tools persist and render it. From that published deck, the PDF and a native editable .pptx are free exports.
The second way is the REST API, for pipelines that aren't driving Claude interactively. You post a prompt and poll a job:
curl -X POST https://heydecks.com/v1/generate \
-H "Authorization: Bearer hd_live_…" \
-H "Content-Type: application/json" \
-d '{
"input": "Series A pitch: problem, solution, traction, the ask",
"brand_id": "brand_abc"
}'That returns 202 with a job_id. Poll GET /v1/jobs/{id} until it's done, and the success payload hands you the deck:
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"status": "succeeded",
"kind": "generate",
"deck": {
"id": "deck_abc123",
"url": "https://heydecks.com/d/series-a-pitch",
"pdf_url": null,
"pptx_url": null,
"note": "Export PDFs and PPTX from the dashboard. Call POST /v1/decks/{id}/publish to make the URL publicly accessible."
}
}One call creates the brand-locked deck and returns its live link; the PDF and the native editable .pptx are then free exports from the deck, which is why they come back as null in the job JSON rather than as inline binaries. The full API and MCP docs cover auth, the generate-and-poll loop, and the slide tools in detail.
#When should you use the add-in, and when should an agent call heydecks?
Pick by where the work happens. If you're a person sitting in PowerPoint cleaning up a deck, the Claude add-in is the better tool, full stop: it edits your open file in place. If a prompt, a script, or an agent needs a finished deck back without anyone opening PowerPoint, that's heydecks. They solve adjacent problems, not the same one.
| Claude for PowerPoint add-in | heydecks via MCP or REST | |
|---|---|---|
| Where it runs | inside desktop PowerPoint | server-side; any agent, no app open |
| What triggers it | you, editing an open deck | an MCP or REST call from a prompt, markdown, or URL |
| What you get back | edits applied to your open file | a live link, a PDF, and an editable .pptx |
| Brand control | your already-open template | Brand Kernel, extractable from a URL |
| Best for | hands-on editing | automation, pipelines, agent runs |
The point isn't that one wins. It's that "claude powerpoint" is two jobs wearing one search query, and knowing which one you're doing tells you which tool to reach for.
Here is a deck heydecks generated straight from a URL, rendered on a sample brand. Page through it to see what comes back from a single call.
To wire this to Claude yourself, connect the heydecks MCP server for hands-off agent runs or the REST API for your own pipeline; either route is how you end up building decks with Claude that return as an editable PowerPoint on your brand.
#Frequently asked questions
#Is Claude for PowerPoint free?
No. The official Claude for PowerPoint add-in is available on the paid Pro, Max, Team, and Enterprise plans, not the free tier. You install it from the Microsoft Marketplace and it runs inside desktop PowerPoint.
#Can Claude make a PPT for free?
In a free chat, Claude will write a full slide outline and a slide-by-slide storyboard at no cost, but you'll be the one assembling the file. A downloadable, branded .pptx needs either the paid add-in or a tool. With heydecks, generating a deck costs 100 credits and the PDF and .pptx exports are free.
#Does Claude or heydecks write the slide content?
Your model does. Over MCP, Claude designs the deck and writes every word; heydecks stores and renders it, with no second AI rewriting your copy. The REST API runs a generation step on the prompt you send, on your brand.
#Can Claude output an editable PowerPoint, not just an image?
Yes, two ways. The add-in builds native shapes and text boxes inside PowerPoint, so they stay editable, and heydecks exports a native editable .pptx you can open and change. The route to avoid is the HTML artifact, which looks like slides in a browser but isn't a PowerPoint file.
Keep reading
