File types · Explainer

The POTM file (.potm)

A POTM file is a PowerPoint template that is allowed to contain VBA macros: opening it starts a new presentation with its masters, layouts and theme. This guide explains how templates work, what's inside one, how POTM differs from POTX and POT, what to know about the macros, and has free sample POTM files, without macros, to download for testing.

At a glance

Full name
PowerPoint Macro-Enabled Design Template
Extensions
.potm
MIME type
application/vnd.ms-powerpoint.template.macroEnabled.12
Kind
Binary: a ZIP package of XML parts (PresentationML), plus an optional binary VBA project
Standard
Office Open XML (ECMA-376, ISO/IEC 29500), with the macro-enabled content types of Microsoft's [MS-OFFMACRO2]
First released
2007, with PowerPoint 2007, by Microsoft
Opens with
PowerPoint (a new presentation based on it), LibreOffice Impress
Magic number
50 4B 03 04 ("PK"), the ZIP signature
Main part content type
application/vnd.ms-powerpoint.template.macroEnabled.main+xml
Macros
VBA, in ppt/vbaProject.bin. Optional

The basics

What is a POTM file?

POTM is PowerPoint's macro-enabled template format. A template is a starting point for new presentations: a slide master, layouts, a theme of colours and fonts, and sometimes example slides, often in an organisation's branding. Microsoft calls the POTM type a "PowerPoint Macro-Enabled Design Template" and describes it as a template "that includes pre-approved macros you can use in your presentations".

The macro-free version is POTX, and most templates are POTX files. A POTM makes sense when the template comes with tools: macros that insert standard slides, apply house formatting or check a deck before it goes out.

  • Opening it doesn't open it. Double-clicking a template starts a new, untitled presentation based on it. The template file stays unchanged.
  • It's a presentation package. Same parts as a PPTX, with the template content type on the main part.
  • Macros are optional. The extension allows a VBA project. Our samples have none.

Our samples contain no macros

Both POTM files on this page are macro-enabled template packages without a VBA project. olevba reports "No VBA or XLM macros found" for each.

Anatomy

What's inside a POTM file

A template is stored like any PPTX: XML parts in a ZIP archive. What makes it useful is the design it carries. This is our sample-template.potm, which has its own theme colours, two shapes on its slide master and no macros.

sample-template.potm (structure)
sample-template.potm  (a ZIP archive, 32,799 bytes, 45 parts)
offset 0: 50 4B 03 04 …  "PK", a ZIP local file header

[Content_Types].xml               the type of every part
ppt/presentation.xml              16:9 slide size, master, 2 slides
ppt/theme/theme1.xml              theme "99helpers Sample": colours, fonts
ppt/slideMasters/slideMaster1.xml the master: text styles, band, credit
ppt/slideLayouts/slideLayout1.xml … 11 layouts, Title Slide to
                                    Vertical Title and Text
ppt/slides/slide1.xml, slide2.xml example slides, with notes
docProps/core.xml                 title, "Contains no macros"

In [Content_Types].xml:
<Override PartName="/ppt/presentation.xml"
  ContentType="application/vnd.ms-powerpoint.template.macroEnabled.main+xml"/>

In ppt/theme/theme1.xml:
<a:dk2><a:srgbClr val="1F2937"/></a:dk2>
<a:accent1><a:srgbClr val="046EFF"/></a:accent1>

In ppt/slideMasters/slideMaster1.xml:
<p:sp><p:nvSpPr><p:cNvPr id="10" name="Template band"/>…
  <a:solidFill><a:schemeClr val="accent1"/></a:solidFill>…</p:sp>

What a template WITH macros adds (not in this sample):
ppt/vbaProject.bin                the VBA project
ppt/_rels/presentation.xml.rels   + a relationship of type …/2006/relationships/vbaProject
  1. 150 4B 03 04

    The ZIP signature

    The same as every Office XML file. A template looks like a presentation from the outside.

  2. 2ContentType="application/vnd.ms-powerpoint.template.macroEnabled.main+xml"

    The template content type

    The one value that makes this package a macro-enabled template. A POTX has …presentationml.template.main+xml, a PPTM …presentation.macroEnabled.main+xml.

  3. 3ppt/theme/theme1.xml

    The theme

    Twelve colours, a heading and a body font, and effect styles. Our sample renames the theme and changes two colours: dk2 for dark text and accent1 for the band.

  4. 4<a:schemeClr val="accent1"/>

    Theme colours, not fixed colours

    The band on the master is filled with the theme's first accent colour. Switch the theme or edit the colour, and every slide follows.

  5. 5ppt/slideMasters/slideMaster1.xml

    The master

    Default text styles and anything that should appear on every slide. Here, a blue band along the top and a credit line at the bottom left, which every layout shows.

  6. 6ppt/slideLayouts/slideLayout1.xml …

    The layouts

    The choices under Home, New Slide: Title Slide, Title and Content, Two Content and so on. A template's value is mostly here and in the master.

  7. 7ppt/slides/slide1.xml

    Example slides

    A template can include slides. Every presentation made from it starts with copies of them.

  8. 8ppt/vbaProject.bin

    The VBA project (not in our sample)

    Where the macros would be, linked from the presentation part exactly as in a PPTM.

Templates

How PowerPoint uses a template

  1. 1Starting a presentation: double-click the template, or choose File, New, then Personal (or Custom) and the template. PowerPoint opens a new presentation with the template applied.
  2. 2Where personal templates live: Microsoft's instructions for Windows put them in C:\Users\<UserName>\Documents\Custom Office Templates\. If Personal doesn't appear under File, New, there are no templates in that folder.
  3. 3Saving the result: the new presentation has no file name yet. Save it as .pptx, or as .pptm if it should keep VBA code: PowerPoint keeps macros only in macro-enabled formats.
  4. 4Changing the template itself: open the .potm with File, Open, edit the master in View, Slide Master, and save. It stays a template.

Microsoft's instructions name .potx files; a .potm is the same kind of file with macros allowed.

Security

Macros in a template, and the security checks

A POTM stores its macros in ppt/vbaProject.bin, linked from the presentation part, exactly like a PPTM. [MS-OFFMACRO2] gives presentations, shows and templates the same rules; only the content type differs.

Microsoft lists macro-enabled templates, .potm among them, as files that get the Mark of the Web when downloaded from the internet. Since 2022, Office on Windows blocks macros in those files unless the file is in a Trusted Location, signed by a trusted publisher or allowed by policy. A template shared from an intranet or a company Trusted Location isn't affected; one downloaded from a website or opened from an email is.

  • To use a template you trust: before using it, right-click the file, choose Properties and tick Unblock, then put it in your templates folder.
  • To check one first: unzip -l template.potm and look for vbaProject.bin, or run olevba template.potm from oletools. Neither runs any code.
  • Free template sites: a template from an unknown site has no reason to contain macros. Prefer POTX, which can't.

Comparison

POTM vs POTX, POT, PPTM and theme files

FormatMacrosWhat it carriesOpening it
POTMYesMasters, layouts, theme, example slides, VBAStarts a new presentation
POTXNoMasters, layouts, theme, example slidesStarts a new presentation
POTYesThe same, in the binary PowerPoint 97-2003 formatStarts a new presentation
PPTMYesA presentation; its layouts can still be reusedOpens the file itself
.thmx (Office Theme)NoOnly the theme: colours, fonts, effectsApplied from Design, Themes

If your template doesn't need code, save it as POTX: people can use it without macro warnings, and mail filters let it through. Code that should work in every presentation, whatever template it came from, belongs in a PPAM add-in.

How to

How to open, edit and convert a POTM file

  • PowerPoint on Windows and Mac uses POTM templates and runs their macros, subject to its macro settings.
  • LibreOffice Impress opens POTM files. It doesn't run PowerPoint's VBA.
  • Convert to POTX: open the template with File, Open, then Save As PowerPoint Template (.potx). The VBA project isn't saved.
  • Convert to PDF: to print the example slides, soffice --headless --convert-to pdf template.potm, or export from PowerPoint.
  • In code: python-pptx's Presentation() refuses a POTM with "is not a PowerPoint file", because it accepts only the PPTX and PPTM content types. To use a template's layouts there, save a copy as PPTX first.

Troubleshooting

Common POTM problems

  • Double-clicking creates a new presentation instead of opening the template. That's how templates work. Use File, Open to edit the template itself.
  • The template doesn't appear under File, New, Personal. It isn't in the personal templates folder that PowerPoint looks in. Copy it there.
  • "Microsoft has blocked macros from running." The template came from the internet. Unblock it in its Properties if you trust it.
  • My new presentation lost the template's macros. It was saved as PPTX, which can't hold VBA. Save as PPTM.
  • PowerPoint won't open it after a rename. Renaming between .potm, .potx and .pptm doesn't change the content type inside. Rename it back and use Save As.

Free downloads

Sample POTM files to download

Free sample macro-enabled PowerPoint templates for testing upload filters, type detection and template handling. Neither contains macros: each is a valid POTM package without a VBA project. Both were checked with unzip -t, by opening the package with python-pptx (with the template content type mapped to its presentation part), by converting it to PDF with LibreOffice and looking at the pages, and with olevba.

sample-template.potm · 32.0 KBDownload

Browsers can't show this kind of file in a page. Download it to open it in the app it belongs to.

What's inside sample-template.potm

Browsers can't preview POTM files, so download it and double-click it with PowerPoint installed: you should get a new, untitled presentation with a blue band at the top of every slide. Open it with File, Open to see the template itself.

  1. Its own theme

    A theme called "99helpers Sample", with a dark grey dk2 and a blue accent1. Calibri for headings and body text.

  2. A branded master

    A blue band filled with the accent colour along the top and a credit line at the bottom left. View, Slide Master shows them.

  3. Eleven layouts

    The standard set from Title Slide to Vertical Title and Text, all inheriting the band and the credit line.

  4. Two example slides

    A title slide and a slide explaining how to use the template, with speaker notes. Every presentation made from it starts with them.

  5. Properties

    Title, keywords and a comment saying it contains no macros, in docProps/core.xml.

  6. No VBA project

    No ppt/vbaProject.bin: only the content type of ppt/presentation.xml makes it a macro-enabled template.

All sample POTM files

  • Sample POTM template (no macros)

    sample-template.potm · 32.0 KB (32,799 bytes)

    A 16:9 template made with python-pptx: a custom theme, a band and a credit line on the master, 11 layouts and two example slides with notes, given the macro-enabled template content type. No VBA project.

    • Testing template handling and previews with a real POTM
    • Checking that a macro scanner reports a clean file
  • Minimal POTM, eleven parts

    sample-minimal.potm · 4.6 KB (4,750 bytes)

    The hand-written eleven-part package of sample-minimal.pptx, one layout, one slide, with the template content type.

    • Parser tests with the smallest POTM
    • Diffing against the minimal PPTX and PPTM

Ways to test with them

  • Type detection: both are ZIP files. A detector should read [Content_Types].xml and report application/vnd.ms-powerpoint.template.macroEnabled.12, not PPTX.
  • Template behaviour: double-clicking sample-template.potm with PowerPoint installed should open an untitled presentation, not the file itself.
  • Upload filters: a filter that blocks macro-enabled Office files by type should stop both; one that looks for a VBA project should let them through.
  • Libraries: python-pptx refuses both until you map the template content type. Check what your own code does with a template.

Free to use for testing, teaching and demos, commercially or not, with no attribution needed. A link back to this page is always appreciated.

Put it online

Have a POTM file? Give it a link.

Drop a macro-enabled PowerPoint template on 99helpers and it gets its own link. Browsers can't open POTM files, so visitors download it and use it in PowerPoint; Office on Windows blocks its macros because it came from the internet.

Questions

POTM files, frequently asked

What is a POTM file?

A PowerPoint template that can contain VBA macros. Opening it starts a new presentation with the template's masters, layouts, theme and example slides.

What's the difference between POTX and POTM?

Macros. A POTM can hold a VBA project and a POTX can't. Otherwise they're the same, and both start a new presentation when opened.

How do I edit a POTM template?

In PowerPoint, use File, Open and choose the .potm. Double-clicking it would create a new presentation instead.

How do I use a POTM template?

Double-click it, or put it in your personal templates folder and choose it under File, New, Personal. Save the new presentation as PPTX, or PPTM if it needs the macros.

Is a POTM file safe?

The template is fine; macros are the risk. Office on Windows blocks macros in templates from the internet. Check with olevba or prefer a POTX.

Can I open a POTM without PowerPoint?

LibreOffice Impress opens it and shows the slides and layouts. It doesn't run PowerPoint's macros.

How do I turn a POTM into a POTX?

Open it with File, Open and Save As PowerPoint Template (.potx). The macros are left out. Renaming the file doesn't work.

Related formats

Other file types explained

Keep going

Related

Sources

Last reviewed 27 October 2026.