What Is ODP?
ODP stands for OpenDocument Presentation, the presentation file format defined by the OASIS OpenDocument standard, ISO/IEC 26300. It is the native format of LibreOffice Impress and Apache OpenOffice Impress, the open-source counterparts to Microsoft PowerPoint. Like PPTX, ODP is a ZIP archive containing XML files. Unlike PPTX, which was designed primarily by Microsoft, ODP was designed by an industry consortium prioritising vendor neutrality and long-term archivability.
ODP shares structural DNA with the other OpenDocument formats: ODS (spreadsheets) and ODT (word processing). All three use the same content.xml + styles.xml + meta.xml + settings.xml + META-INF/manifest.xml pattern inside a ZIP container, with format-specific presentation elements added in content.xml.
ZIP Container Structure
mimetype — Uncompressed; declares application/vnd.oasis.opendocument.presentation
META-INF/
manifest.xml — All files listed with MIME types
content.xml — All slides, master pages, styles (main document)
styles.xml — Drawing styles, page layout styles
meta.xml — Author, creation date, word count, slide count
settings.xml — View settings (current slide, zoom, grid)
Thumbnails/
thumbnail.png — Preview image (128×128)
Pictures/ — Embedded raster images
Object1/ — Embedded OLE objects (charts, spreadsheets)
content.xml
The mimetype file must be the first entry in the ZIP archive, stored uncompressed — the same requirement as other OpenDocument formats, enabling MIME sniffing without decompression.
content.xml: Slides and Drawing Layers
The content.xml file uses the drawing (dr3d, draw) and presentation (presentation) XML vocabularies to describe slides:
<office:presentation>
<!-- Master page (template for all slides) -->
<draw:master-page draw:name="Zen" draw:style-name="dp1">
<draw:frame presentation:class="title" ...>
<draw:text-box><text:p/></draw:text-box>
</draw:frame>
</draw:master-page>
<!-- Actual slide -->
<draw:page draw:name="slide1" draw:master-page-name="Zen"
draw:style-name="dp2" presentation:presentation-page-layout-name="AL1T0">
<!-- Title shape -->
<draw:frame presentation:class="title" svg:x="1cm" svg:y="0.5cm"
svg:width="25cm" svg:height="3cm">
<draw:text-box>
<text:p><text:span text:style-name="T1">My Presentation</text:span></text:p>
</draw:text-box>
</draw:frame>
<!-- Content shape -->
<draw:frame presentation:class="body" svg:x="1cm" svg:y="4cm"
svg:width="25cm" svg:height="13cm">
<draw:text-box>
<text:list>
<text:list-item><text:p>First bullet</text:p></text:list-item>
<text:list-item><text:p>Second bullet</text:p></text:list-item>
</text:list>
</draw:text-box>
</draw:frame>
<!-- Slide transition -->
<presentation:notes>
<draw:text-box><text:p>Speaker notes here</text:p></draw:text-box>
</presentation:notes>
</draw:page>
</office:presentation>
Positioning: Absolute Coordinates
A fundamental difference from PPTX: ODP positions shapes using absolute SVG coordinates (svg:x, svg:y, svg:width, svg:height) in centimetres or millimetres. PPTX uses EMU (English Metric Units, 914400 per inch). This makes ODP XML more human-readable but means that changing the slide size requires manually adjusting all shape positions.
Styles Architecture
ODP separates styles across two files:
content.xml— automatic styles (generated by the application, namedP1,P2, etc.) used for specific text runsstyles.xml— named styles (paragraph styles, drawing styles, page styles) intended for reuse
Drawing styles for shapes include fill, stroke, shadow, opacity, and text animation. The style system is similar to CSS in its cascade and inheritance model.
Animations in ODP
ODP uses the SMIL (Synchronized Multimedia Integration Language) vocabulary for animations, specifically the subset defined in the OpenDocument presentation animations specification:
<presentation:show-shape draw:shape="id3">
<presentation:show-text/>
</presentation:show-shape>
<anim:par>
<anim:seq presentation:node-type="main-sequence">
<anim:par>
<anim:animate attributeName="opacity" from="0" to="1"
dur="PT0.5S" fill="hold"
xlink:href="#id3"/>
</anim:par>
</anim:seq>
</anim:par>
The SMIL-based approach differs significantly from PPTX's <p:timing> XML. When converting between formats, LibreOffice translates animations as best it can, but complex sequences — particularly motion path animations, morph transitions, and text-by-character effects — may not survive the round trip.
Slide Transitions
Transitions are defined per slide using presentation:transition-style and presentation:transition-speed attributes in the <draw:page> element, optionally combined with <presentation:sound> elements for audio:
<draw:page draw:name="slide2"
presentation:transition-type="automatic"
presentation:transition-style="fade-smoothly"
presentation:transition-speed="medium"
presentation:duration="PT3S">
Supported transition types in LibreOffice Impress include fade, push, wipe, box, checkerboard, and many others. Not all of these map directly to PowerPoint transition equivalents.
Master Pages vs. Slide Masters
ODP uses the concept of master pages (analogous to PowerPoint's slide masters) stored inline in content.xml. Unlike PPTX, which separates master and layout into distinct files with an explicit hierarchy, ODP's master page combines the equivalent of master + layout in a single entity. This simplifies the structure but makes multi-layout systems less explicit.
A presentation can reference multiple master pages, allowing different "themes" for different sections — but the inheritance chain is less granular than PPTX's three-tier system.
Macro Support
ODP supports macros through LibreOffice's scripting framework:
- LibreOffice Basic — the primary macro language
- Python — available via the BASIC bridge in LibreOffice 6.4+
- JavaScript — experimental
Macros are stored in the ZIP archive under Basic/Standard/ModuleN.xml. Unlike PPTM, there is no separate "ODP with macros" extension — any ODP file may contain macros.
ODP vs. PPTX: Compatibility Matrix
| Feature | PPTX | ODP | Notes |
|---|---|---|---|
| Basic text + images | ✅ | ✅ | Full compatibility |
| Bullet lists | ✅ | ✅ | Full compatibility |
| Basic transitions | ✅ | ✅ | Good compatibility |
| Complex animations | ✅ | Partial | SMIL vs. OOXML timing |
| Morph/Zoom transitions | ✅ | ❌ | Office 365 only |
| SmartArt | ✅ | ❌ | Converted to plain shapes |
| Embedded charts | ✅ | ✅ | ODS chart data vs. XLSX |
| Speaker notes | ✅ | ✅ | Full compatibility |
| Master page themes | ✅ | Partial | Less granular in ODP |
| VBA macros | ✅ (PPTM) | ❌ | LibreOffice Basic instead |
| Font embedding | ✅ | Partial | Limited in LibreOffice |
Interoperability: Round-Trip Conversion
ODP → PPTX (LibreOffice → PowerPoint): Opening an ODP file in PowerPoint or converting via LibreOffice's "Save as PPTX" works for basic presentations. Known loss areas:
- Custom animation sequences may simplify or reorder
- Slide transitions may change type
- Complex master page configurations may flatten
- LibreOffice Basic macros are dropped
PPTX → ODP (PowerPoint → LibreOffice):
- SmartArt is converted to a static group of shapes (non-editable SmartArt structure)
- Morph and Zoom transitions become simple cuts or fades
- Charts retain data but switch to ODS format internally
- VBA macros are dropped
- Most text formatting, images, and basic transitions survive
Google Slides and ODP
Google Slides can import ODP files via Google Drive upload. The conversion preserves:
- Basic slide content (text, images)
- Simple transitions
- Speaker notes
It does not preserve:
- Custom animations (converted to simple appear/disappear)
- LibreOffice-specific drawing effects
- Macros
Exporting from Google Slides to ODP is also available (File → Download → ODP), providing a path from Google's cloud to an open-standard format.
When to Use ODP
Use ODP when:
- Working primarily in LibreOffice Impress
- Submitting to organisations requiring open-standard file formats
- Creating presentations that will be archived long-term without vendor dependency
- Collaborating with users committed to open-source toolchains
Use PPTX when:
- Collaborating with PowerPoint users (corporate standard)
- Using advanced PowerPoint features: SmartArt, Morph transitions, complex animations, embedded Excel charts
- Distributing to audiences who will present with PowerPoint
Converting ODP Files
ODP → PPTX: File → Save A Copy → PowerPoint 2007-365 (.pptx) in LibreOffice Impress. Most basic content survives.
ODP → PDF: File → Export as PDF. All visual content is preserved; animations and transitions are rendered as static slides. Fine-grained PDF options include PDF/A compliance for archival.
ODP → PNG/JPG: File → Export → select image format. Exports each slide as an image.
PPTX → ODP: File → Save As → ODP in LibreOffice Impress. VBA macros, SmartArt, and Morph transitions are not preserved.
Summary
ODP is the OpenDocument standard's answer to PPTX — a mature, ISO-standardised presentation format built for vendor independence and long-term compatibility with open-source tools. While it lacks some of PowerPoint's flagship features (Morph transitions, SmartArt, advanced animation sequences), ODP handles the fundamentals — slides, text, images, basic animations, speaker notes, and embedded charts — with full competence. For presentations that must remain free from commercial software lock-in, ODP is the natural choice.
Related conversions
Frequent conversions across the catalogue: