What is the PPTM file format?
A .pptm file is a Microsoft PowerPoint Macro-Enabled Presentation - a slide deck that can contain and execute VBA macros. Introduced alongside .pptx with PowerPoint 2007, it uses the same Office Open XML container but adds a ppt/vbaProject.bin part that stores compiled macro code. The extension was created specifically to distinguish macro-capable files at a glance: a plain .pptx file cannot run macros at all.
Structurally, a .pptm file is a ZIP archive containing XML files for slides, themes, relationships, and media, plus the binary VBA project. Opening it in any ZIP utility reveals files such as [Content_Types].xml, ppt/presentation.xml, and ppt/slides/slide1.xml. Its MIME type is application/vnd.ms-powerpoint.presentation.macroEnabled.12.
Macros in .pptm files can automate repetitive tasks, trigger actions on slide events, or interact with other Office applications. Because macros can also carry malicious code, most applications prompt users to enable them before execution, and web viewers display slides but disable macros entirely.
Sibling formats share the same pattern: .ppsm is the macro-enabled slideshow variant (opens directly in presentation mode), and .potm is a macro-enabled template. Saving a .pptm as .pptx strips all macros permanently.
Security & safety
RISK: MEDIUMPPTM is the key reason this extension exists: unlike a plain .pptx, a .pptm can carry VBA macros, which are a classic malware vector (downloaders, droppers). The whole point of the separate extension is to flag "this deck may contain code". Defenses to mention: Office opens internet/email files in Protected View; since 2022 Microsoft blocks VBA macros in files marked as coming from the internet by default (you must right-click > Properties > Unblock to even attempt to run them). Never click "Enable Content" on a .pptm you didn't expect or whose source you don't trust. To view an unknown .pptm safely, open it in LibreOffice Impress, Google Slides or PowerPoint for the web, which render the slides without executing PowerPoint VBA. If you only need the slides, convert to .pptx to drop the macros entirely.
Format details
in a nutshellPrograms that open PPTM files
Technical details
deep spec| Container | ZIP archive (Office Open XML package); identical outer structure to .pptx |
| Encoding | XML (UTF-8, zipped via DEFLATE) for slides and metadata; binary OLE2 compound file for the VBA project |
| Magic bytes | 50 4B 03 04 ("PK") at offset 0 - standard ZIP local file header, shared with .pptx, .docx and .xlsx |
| Macro storage | ppt/vbaProject.bin - a self-contained OLE2 (Compound Document) binary holding compiled VBA byte-code, forms, and module streams |
| MIME type | application/vnd.ms-powerpoint.presentation.macroEnabled.12 |
| Distinguishing marker | [Content_Types].xml lists the macroEnabled.12 content type; presence of ppt/vbaProject.bin separates .pptm from plain .pptx |
| Schema standard | ECMA-376 / ISO/IEC 29500 (Office Open XML); .pptm and .pptx share the same underlying XML schema |
| Compression | DEFLATE per entry (standard ZIP); embedded media files may be stored uncompressed within the package |
| Encryption | Optional Agile Encryption wraps the entire package for password protection; the VBA project can also be separately password-locked (weak obfuscation, not cryptographically strong) |
| Integrity | ZIP per-entry CRC-32 checksum; optional digital signature on the VBA project or the whole package |
| Byte order (VBA binary) | Little-endian within ppt/vbaProject.bin OLE2 streams; outer ZIP and XML layers are byte-order neutral |
| Typical file size | 200 KB - 50 MB depending on embedded media; VBA macro code itself adds only a few kilobytes |
| Macro execution in browsers | Disabled - PowerPoint for the web and Google Slides render slides but refuse to run VBA macros |
| ZIP entry limit | Up to 65,535 entries per standard ZIP; ZIP64 extension removes this ceiling for very large packages |
| Platform support | Windows and macOS: full support including macro execution; Web, Android and iOS: slide viewing and editing only, macros disabled |
| Released | 2007 (PowerPoint 2007 / Office Open XML) |
| Latest version | Office Open XML (ISO/IEC 29500); current as of Microsoft 365 |
| Open standard | Yes · royalty-free |
| Specification | learn.microsoft.com |
PPTM conversions
Community Q&A
asked by usersNo questions yet - be the first to ask about PPTM files.