|Introduction | Sustainability Factors | Content Categories | Format Descriptions | Contact|
|Full name||PPTX (Office Open XML, Presentation ML) ISO 29500:2008-2012, also ECMA-376, Editions 1-4.|
The Office Open XML-based presentation format using .pptx as a file extension has been the default format produced for new documents by versions of Microsoft PowerPoint since PowerPoint 2007. The format was designed to incorporate the full semantics and functionality of the binary .ppt format produced by earlier versions of PowerPoint. For convenience, this format description uses PPTX to identify the corresponding format. The primary content of a PPTX file is marked up in PresentationML and DrawingML, which are specified in parts 1 and 4 of ISO/IEC 29500, Information technology -- Document description and processing languages -- Office Open XML File Formats (OOXML). This description focuses on the specification in ISO/IEC 29500:2012 and represents the format variant known as "Transitional." Although editions of ISO 29500 were published in 2008 and 2011, the specification has had very few changes other than clarifications and corrections to match actual usage in documents since PresentationML and DrawingML were first standardized in ECMA-376, Part 1 in 2006. This description can be read as applying to all versions published by ECMA International and by ISO/IEC through 2012. See Notes below for more detail on the chronological versions and minor differences.
The conceptual structure of a slide-based presentation includes:
The package structure for a typical PPTX file has many parts, corresponding to the structure above. A PPTX files's main part, typically called presentation.xml, has a presentation element as root. The presentation element includes a slide list, consisting of references to individual slides; each slide is stored as a separate part in a folder usually named /ppt/slides. Other elements in the main presentation part refer to masters that specify overall style and layout characteristics for slides, handouts, and notes in the presentation. Again, the masters are stored as individual parts. Each slide part is related to relevant slide master and slide layout parts and may have an associated notes slide part. The slide part contains markup for text and graphics, and refers to any embedded audio, video, or raster images. The audio, video, and image files may be stored within the package or referred to as external resources. Markup specifying animations and transitions may also be in the slide part.
A variant but very closely related format uses the .ppsx extension and will be referred to in this document as PPSX. The intent of PPSX is that when "opened" the presentation will be run as a slideshow. In contrast, when "opened," a PPTX is intended to open for editing. The markup of a PPSX file is specified in the same standards and will often be essentially identical to the corresponding PPTX file, except for attributes that identify the content type for the package itself and for the main part of the document package. See File type signifiers below. [Note: Some features supported in PresentationML or DrawingML may result in other changes between the PPTX file originally opened and a PPSX file stored using Save As in PowerPoint, even if the user did not edit the slide deck. Examples include resources stored externally that have been updated and charts or diagrams based on cached data that has been automatically refreshed.]
In a PPTX or PPSX file, Presentation ML is used to represent the structure of the presentation: slides, design themes, slide masters, notes, properties that control saving and printing, etc. DrawingML is used to represent pictures, charts, diagrams, and other graphical elements. In the Transitional variant of PPTX, graphical elements may be represented in the earlier Vector Markup Language (VML), used for graphics in many presentations (or other OOXML documents) created in earlier versions of Office. VML is fully defined in ISO/IEC 29500-4 (Part 4) to support backwards compatibility. DrawingML, specified in ISO/IEC 29500-1 (Part 1) is a newer and richer markup language, intended to support the same functionality as VML and more. VML is considered a transitional format; the standard recommends that new applications use only DrawingML.
The standards documents that specify this format run to over six thousand pages. Useful introductions to the PPTX format can be found at:
|Production phase||Can be used in any production phase: for creating presentations (initial state): for editing and review (middle-state); and for final use or distribution.|
|Relationship to other formats|
|Subtype of||OOXML_Family, OOXML (ISO/IEC 29500) Format Family|
|Subtype of||OPC/OOXML_2012, Open Packaging Conventions (Office Open XML), ISO 29500-2:2008-2012|
|May contain||MCE/OOXML_2012, Markup Compatibility and Extensibility (Office Open XML), ISO 29500-3:2008-2012, ECMA-376, Editions 1-4|
|Has modified version||PPTX/OOXML_Strict_2012, PPTX Strict (Office Open XML), ISO 29500-1: 2008-2012. The Strict variant of PPTX disallows legacy markup as specified in Part 4 of ISO/IEC 29500. Hence the Strict variant has less support for backwards compatibility when converting documents from older formats.|
|Defined via||XML, Extensible Markup Language (XML)|
|LC experience or existing holdings||Used by Library of Congress staff. Before publication on the Library of Congress website, most PPTX files are converted to the PDF format.|
|LC preference||As of September 2014, no format preference has been explicitly expressed by the Library of Congress in relation to acquisition of digital presentations for its collections.|
|Disclosure||International open standard. Maintained by ISO/IEC JTC1 SC34/WG4. Originated by Microsoft Corporation and first standardized through ECMA International in 2006. Approval as ISO/IEC 29500 was in 2008.|
ISO/IEC 29500-1, Information technology -- Document description and processing languages -- Office Open XML File Formats -- Part 1: Fundamentals and Markup Language Reference and ISO/IEC 29500-4, Information technology -- Document description and processing languages -- Office Open XML File Formats -- Part 4: Transitional Migration Features. Latest version (dated 2012 as of August 2014) is available from ISO/IEC Publicly Available Standards.
The Transitional variant of PPTX is specified by applying the differences described in Part 4 (Transitional Migration Features) to the specification in Part 1. Part 4 cannot be read without detailed reference to subclauses in Part 1.
Annex L of Part 1 is an extensive Primer (informative rather than normative) that introduces key features of PresentationML, DrawingML, and VML, relating elements and attributes to intended functionality through examples.
Very widely used. PPTX was originally developed by Microsoft as an XML-based format to replace the proprietary binary format that uses the .ppt file extension.
PowerPoint is the overwhelming market leader among applications used for generating presentations. A share of 95 percent is widely quoted (and re-quoted), but it is not clear where that figure originated. See PowerPoint usage statistics and market share, a post from February 2012. Since 2012, the share may have dropped slightly. Review articles often recommend Keynote (a slideware application from Apple) and Prezi (a cloud-based system that uses a non-linear approach with a large canvas over which the presenter can pan and zoom, rather than a sequence of slides). See, for example, Picking the Perfect Presentation Software for You, April, 2014 and Best Free Alternatives to PowerPoint, July 2014. Such articles usually emphasize the ubiquity of support for PowerPoint and the fact that it is the safe choice from a technical perspective.
The corpus of existing documents is still dominated by the binary .ppt format. A Google search in October 2014 of the U.S. web by filetype yielded: .ppt, 11,600,000; .pptx, 3,450,000; .key, 691,000; .odp, 195,000.
In June 2014, Google announced direct editing of PPTX files in the new Google Slides app for Android devices or online if using the Chrome browser with an extension Google supplies; the compilers of this resource have found no good information yet on the degree to which files edited in these versions of Google Slides can be opened satisfactorily in PowerPoint. Other slideware applications, including Apache Open Office, LibreOffice, Keynote, and Google Slides when using browsers other than Chrome can import PPTX files, but some loss should be expected (see Notes below for features that may not transfer to the OpenDocument Presentation format). The Prezi application allows users to upload a PowerPoint file and place slides onto the presentation's canvas.
|Licensing and patents||
The specification originated from Microsoft Corporation. Current and future versions of ISO/IEC 29500 and ECMA-376 are covered by Microsoft's Open Specification Promise, whereby Microsoft "irrevocably promises" not to assert any claims against those making, using, and selling conforming implementations of any specification covered by the promise (so long as those accepting the promise refrain from suing Microsoft for patent infringement in relation to Microsoft's implementation of the covered specification).
Features introduced into PPTX through the MCE mechanism may be subject to patent protection. However, Microsoft's interoperability principles indicate "Microsoft will also make available a list of any of its patents that cover any extensions, and will make available patent licenses on reasonable and non-discriminatory terms."
The structure and text of a PPTX file are all represented in XML and hence viewable without special tools, although XML-aware tools that can show the element hierarchy make viewing and interpretation more convenient. The most commonly used parts, elements, and attributes have recognizable names. Simple documents can be interpreted with very basic tools. However, interpreting the semantics of some elements and the correspondence of some elements and attributes to presentation software functionality will require understanding of both the schema and the textual specification. The specification provides valuable examples, for example of animation effects, and not all normative constraints for PPTX can be represented fully in the W3C XML Schema Language (XML_Schema_1_0).
The transparency of embedded image, audio, and video files depends on the formats of those files.
For transparency of the package containing the constituent parts of the PPTX file, see OPC/OOXML_2012.
The property file /docProps/core.xml is mandatory for OPC packages, although all elements in this Core Properties part are optional. For more on self-documentation of the package containing the constituent parts of the PPTX file, see OPC/OOXML_2012.
A single optional part with a pre-defined set of extended properties for the package is permitted. Microsoft uses the part name /docProps/app.xml for this and it is always present in PPTX files created by Microsoft. The extended properties (each optional and non-repeatable) are primarily administrative and are not related to the intellectual or bibliographic nature of the document. Elements include: name of creating application; version of creating application; various size metrics (pages, words, etc.); template used; document security level; and a list of embedded hyperlinks. Libre Office and Google Docs use the same part name for the extended properties part, but the part typically records many fewer properties. Both applications identify themselves as the creating application for non-empty documents.
The nature of the OPC package would permit the addition of a part that included rich XML-based metadata, preferably in a well-known schema, and was listed in the relationships file associated with the Core Properties part with an appropriate relationship type. However, no part of ISO/IEC 29500:2012 predefines such a relationship. Embedding such a part in an OPC package could be done without affecting the primary document content.
None beyond XML-aware software.
See also OPC/OOXML_2012.
|Technical protection considerations||
No specific set of factors for assessing quality and functionality of a presentation format has been developed. This format description uses selected factors for assessing formats for images and text.
Graphics and text on a slide are structured to scale with monitor size. Raster images can be incorporated in a slide and stored in "any supported format" (i.e. supported by a particular application). For interoperability, the standard recommends use of image/jpeg (see JFIF-1-02) or image/png (see PNG) .
|Clarity (high image resolution)||Since slides are intended for display on monitors, support for high spatial resolution or high-bit-depth is not needed. For vector graphics and text effects, DrawingML allows colors to be specified using RGB (assuming the sRGB colorspace) or HSL (Hue, Saturation, Lightness) color models.|
|Color maintenance||There is no support for ICC profiles or other color management mechanisms intended to produce consistent color on different devices. PPTX is not intended for use where accuracy of perceived color is crucial.|
|Support for vector graphics, including graphic effects and typography||Excellent support for typographic effects and vector graphics, through the DrawingML markup language. The Transitional form of PPTX also allows use of the VML markup language to support backwards compatibility with earlier versions of Microsoft Office.|
|Support for multispectral bands||Not relevant for a format aimed at presentations.|
|Functionality beyond normal rendering||PPTX has been used to construct a game or movie. Artwork based on shapes can be animated on individual slides and connected by transitions between slides. See http://en.wikipedia.org/wiki/PowerPoint_animation.|
|Normal rendering||Editable document. Textual content is conveniently extractable for quotation and for indexing. Full support for Unicode.|
|Integrity of document structure||The ordering of slides and of textual lists on slides is explicitly represented, as are relationships between slides and embedded content.|
|Integrity of layout and display||Excellent support for layout choices. Represents entire layout and formatting as intended by an author who used an application for which PPTX is a native format. Bi-directional and vertical display of text can be specified. Differences in detail can occur on display if the original fonts used are not available in the system used for viewing.|
|Support for mathematics, formulae, etc.||Equations can be represented using Office Mathematical Markup Language (OMML). See DOCX/OOXML_2012.|
|Functionality beyond normal rendering||
As a format designed for creating and editing a presentation, PPTX stores information associated with the process of creation and review of presentations, such as comments by multiple authors. PPTX supports embedding of other OOXML content, such as Office Mathematical Markup Language (OMML) or SpreadsheetML. Also supported are embedded media objects in binary formats, and links to external media objects, such as images, audio, or video. Note that external objects may be referred to as local files using relative paths or by URIs (or IRIs).
||A file with the .ppsx extension, intended to run as a slideshow rather than open for editing is based on the same specification and may have essentially identical markup. See second group of signifiers below.|
|Internet Media Type||application/vnd.openxmlformats-officedocument.presentationml.presentation
||From IANA registration.|
|XML namespace declaration||http://schemas.openxmlformats.org/presentationml/2006/main
||This namespace declaration is for the Transitional variant of PPTX. It occurs in the mandatory Main Document part of a PPTX file (package), which typically has the name /ppt/presentation.xml and is mapped to the prefix p. The same namespace declaration will be found in a .ppsx file. The use of /ppt/presentation.xml as the name of the main part is conventional, rather than mandated in ISO 29500.|
||Value for ContentType for the Main Document part, typically named "/ppt/presentation.xml". This value is found in [Content_Types].xml at the top level of the OPC package for a PPTX file, in markup similar to <Override PartName="/ppt/presentation.xml" ContentType="application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml"/>.|
|Internet Media Type||application/vnd.openxmlformats-officedocument.presentationml.slideshow
||From IANA registration.|
||Value for ContentType for the Main Document part, typically named "/ppt/presentation.xml". This value is found in [Content_Types].xml at the top level of the OPC package for a .ppsx file, in markup similar to <Override PartName="/ppt/presentation.xml" ContentType="application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml"/>.|
This description uses filenames (e.g., core.xml) that are used by most, if not all, implementations. As parts are defined by their content type in the mandatory [Content_Types].xml file part, use of these names is conventional rather than mandatory.
A slide as it appears in a presentation results from a hierarchy of components, each stored as a separate part: (1) the master slide upon which the slide is based; (2) the layout that is applied to the slide; and (3) the actual slide content. The master slide is a template that specifies properties such as the font styles for the title, body, and footer, placeholder positions for text and objects, bullet styles, and background. The slide layout is a second layer of design which may augment or override what is specified in the master slide and may apply to more than one slide. Finally, the slide itself specifies content and formatting not already specified by the master slide and slide layout. Properties and content defined in a slide layout will override similar properties and content specified in the master slide, and properties and content specified in the slide will override similar properties and content defined in the layout. [The description above is an adaptation of a description at officeopenxml.com, a useful resource developed by Daniel Dick.]
The XML in a PPTX file will typically draw on several schemas and use more than one namespace. PresentationML uses a single namespace, often using the prefix p:. DrawingML has more than one namespace. The DrawingML Main namespace will be used in all PPTX files, often using the prefix a:, since it is used to specify layouts. This namespace also defines constructs for drawing, coloring, positioning, and connecting shapes, embedding audio, etc., specifying the animation for building a graphic, and styling text within graphical layouts. Occurring when relevant, the DrawingML Chart namespace, often using the prefix c:, is used to specify a visualization of numeric data. Elements in this namespace define where data should be drawn from, a cache for the data, and how the data should be presented graphically (chart type, axes, etc.). The ChartDrawing namespace is used to anchor and display a DrawingML object within a chart. Yet another DrawingML namespace is used to specify diagrams such as organizational charts. A Transitional PPTX file may also use the VML Main namespace (often using the prefix v:) and subsidiary VML namespaces.
The deprecated VML (Vector Markup Language), as used in Transitional OOXML files, is fully defined in ISO/IEC 29500-4. Its inclusion is for backwards compatibility purposes and the standard discourages use by new applications when writing OOXML files.
Audio, video, and images in binary formats are frequently incorporated into presentations. ISO/IEC 29500 does not mandate or prohibit any particular formats for such files but, for interoperability, recommends audio/mpeg (see MPEG_layer_2_audio and MP3_FF ), image/jpeg (see JFIF_1_02, JPEG File Interchange Format), image/png (see PNG), and video/mpeg (see MPEG-2_family). Microsoft documents support in PowerPoint for several additional formats. The compilers of this resource have no information as to the range of audiovisual formats found in PPTX files in practice. Comments welcome. PPTX allows such files to be stored in the package or externally. If stored externally, they can be referred to relative to the location of the PPTX package or by URI (or IRI).
Relationship between PPTX and binary .ppt format: Conversion from the binary .ppt format to PPTX using the Save As operation in PowerPoint is designed to have 100 percent fidelity. For PowerPoint 2007, the formats should be equivalent. Features added since PowerPoint 2007 will usually not be supported in the binary format; when converting from PPTX to .ppt, later versions of PowerPoint will attempt to "down-convert" to supported features and will present a compatibility check that indicates which features will be converted or lost.
Conversion between PPTX and ODP: Acknowledging the interest in whether conversion between OOXML and ODF (OpenDocument Format) files could be reliable, ISO started a work item to explore this issue. ISO/IEC TR 29166:2011 Information technology -- Document description and processing languages -- Guidelines for translation between ISO/IEC 26300 and ISO/IEC 29500 document formats is the output of that expert working group. The report documents the challenges of translation between OOXML and ODF formats, including the presentation formats, based on the standards as documented at the time. This report, available from ITTF, describes features and functionality for the three primary types of office document and characterizes the translatability of features and functions as high, medium, or low. The challenges are significant since the two formats use different underlying models. Although a presentation consisting of simple slides with textual lists can be effectively converted, a round-trip to an identical document should never be expected. Display differences will be common after conversion, many of no semantic significance, but resulting in visual differences. Among the features that are particularly problematic for conversion, and could lead to problems of more substance, are:
Note that versions of ODP that have been introduced into Apache Open Office or LibreOffice, but not yet been approved through ISO, may mitigate some of these conversion problems. When converting from PPTX to ODP, it is important to be aware of which version of ODP is being used as the target format. PowerPoint 2013 uses OASIS ODF 1.2 for ODP export. Microsoft documents how it handles features that do not correspond when the Save As .odp feature is used in Differences between the OpenDocument Presentation (.odp) format and the PowerPoint (.pptx) format. Also of relevance in relation to fidelity of conversion is whether a document includes any of the new features introduced in versions of PowerPoint since 2007 and marked up using the Markup Compatibility and Extensibility namespace (MCE/OOXML_2012). Microsoft has documented these extensions in [MS-PPTX]: PowerPoint (.pptx) Extensions to the Office Open XML File Format and [MS-ODRAWXML]: Office Drawing Extensions to Office Open XML Structure. Among features added since Office 2007 are new transition types and chart styles, "bookmarks" for controlling embedded audio and/or video, support for InkML (to represent hand-drawn objects), and the ability to store original raster images and processing parameters for corrections and effects applied.
The original PPTX specification was published in ECMA-376, Part 1 in 2006. Between then and 2012, the main change to the specification for PresentationML and DrawingML has been the split between the Strict specifications (as defined in Part 1) and the Transitional (as defined in Part 4 in conjunction with Part 1). A key aspect of this split was that all use of VML was eliminated from the Strict specification. Editions of ISO/IEC 29500 and ECMA 376 between 2008 and 2012 related to PresentationML and DrawingML have primarily been corrections and clarifications. The chronology of editions specifying PPTX/OOXML_2012 is:
VML as defined in OOXML (ISO/IEC 29500-4: 2008-2012) is close but not identical to the specification submitted by Microsoft to W3C in 1998 for possible recommendation by W3C. This submission was in response to W3C Scalable Graphics Requirements at the beginning of a process that led to the development of ScalableVector Graphics (see SVG_1_1).