---
title: DocC
framework: DocC
role: collection
role_heading: Tool
path: docc
---

# DocC

Produce rich API reference documentation and interactive tutorials for your Swift framework or package.

## Overview

Overview The DocC documentation compiler converts Markdown-based text into rich documentation for Swift frameworks and packages. You can preview the documentation in its published form as you work on it, and also host it on a website when it’s complete. DocC syntax — called documentation markup — is a custom variant of Markdown that adds functionality for developer-specific documentation features, like cross-symbol linking, term-definition lists, code listings, and asides. You add documentation markup to your source code, compile it with DocC, and produce reference documentation for your APIs. You can also use documentation markup, along with a set of directives that instruct how DocC generates your content, to offer step-by-step tutorials that teach developers to use your APIs through interactive coding exercises or to craft comprehensive articles that explain specific technologies or topics.

## Topics

### Essentials

- [Documenting a Swift Framework or Package](docc/documenting-a-swift-framework-or-package.md)

### Documentation Content

- [Writing Symbol Documentation in Your Source Files](docc/writing-symbol-documentation-in-your-source-files.md)
- [Adding Supplemental Content to a Documentation Catalog](docc/adding-supplemental-content-to-a-documentation-catalog.md)
- [Linking to Symbols and Other Content](docc/linking-to-symbols-and-other-content.md)
- [Adding Code Snippets to your Content](docc/adding-code-snippets-to-your-content.md)
- [Documenting API with Different Language Representations](docc/documenting-api-with-different-language-representations.md)

### Structure and Formatting

- [Formatting Your Documentation Content](docc/formatting-your-documentation-content.md)
- [Adding Tables of Data](docc/adding-tables-of-data.md)
- [Other Formatting Options](docc/other-formatting-options.md)
- [Adding Images to Your Content](docc/adding-images.md)
- [Adding Structure to Your Documentation Pages](docc/adding-structure-to-your-documentation-pages.md)
- [Customizing the Appearance of Your Documentation Pages](docc/customizing-the-appearance-of-your-documentation-pages.md)

### Distribution

- [Distributing Documentation to Other Developers](docc/distributing-documentation-to-other-developers.md)

### Documentation Types

- [API Documentation](docc/api-reference-syntax.md)
- [Interactive Tutorials](docc/tutorial-syntax.md)

### Shared Syntax

- [Comment](docc/comment.md)
