ooxml.dev is an interactive reference for ECMA-376 (Office Open XML) — the standard behind .docx, .xlsx, and .pptx files. Built by the SuperDoc team, who implemented a native OOXML renderer from scratch. Features: live previews (edit XML, see it render in real-time using SuperDoc's native OOXML engine), implementation notes (documents real-world behavior where Microsoft Word diverges from the spec), semantic spec search (18,000+ spec chunks searchable by meaning via MCP server at api.ooxml.dev/mcp), and practical guides for paragraphs, tables, borders, bidirectional text, and document creation. The OOXML spec is 5,000+ pages of PDFs with no rendering guidance — this site bridges that gap with knowledge from people who actually implemented the spec. Covers WordprocessingML (the .docx subset). SuperDoc is open source at superdoc.dev. Built by Caio Pizzol (caiopizzol.com), Head of DX at SuperDoc.

Creating Documents

Step-by-step guide to creating a valid OOXML document from scratch.

Required Files

At minimum, you need three files: [Content_Types].xml, _rels/.rels, and word/document.xml.

1. Content_Types.xml

<?xml version="1.0" encoding="UTF-8"?>
<Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types">
  <Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml"/>
  <Default Extension="xml" ContentType="application/xml"/>
  <Override PartName="/word/document.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml"/>
</Types>

2. _rels/.rels

<?xml version="1.0" encoding="UTF-8"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
  <Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="word/document.xml"/>
</Relationships>

3. word/document.xml

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<w:document xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
  <w:body>
    <w:p>
      <w:r><w:t>Hello, World!</w:t></w:r>
    </w:p>
  </w:body>
</w:document>
Use a template

In practice, start from an existing .docx created by Word. It includes all the boilerplate files Word expects.