Repolode
realm

realm/jazzy

A command-line tool that generates Apple-style HTML API documentation for Swift and Objective-C projects.

Stars
7,381
Forks
413
Open issues
74
Last commit
last month

What is it?

jazzy generates API reference documentation for Swift and Objective-C code. Rather than parsing source files directly, it uses Clang and SourceKit to read the AST of the code along with its documentation comments, aiming for accurate output. The generated pages mirror the look of Apple's official reference documentation.

The tool runs on macOS and supports Xcode and Swift Package Manager projects. It can also build docs from compiled Swift modules through the symbol graph, which is faster than reading source but only covers public declarations. Multiple modules can be combined into one site with search and cross-module linking, and the output can include Markdown guides, math rendered with KaTeX, and a Dash docset.

Configuration is handled through a `.jazzy.yaml` file or command-line flags, with three built-in themes (apple, fullwidth, jony) and support for custom themes.

Key features

  • 01Generates docs by reading Clang and SourceKit ASTs and doc comments.
  • 02Supports Xcode and Swift Package Manager projects, plus Objective-C.
  • 03Can generate docs from compiled Swift modules via symbol graphs.
  • 04Combines multiple modules into one site with cross-module linking.
  • 05Renders LaTeX math through KaTeX and includes Markdown guides.
  • 06Produces Dash docsets and offers three built-in themes.

Use cases

  • Publishing API reference docs for a Swift framework or SDK.
  • Documenting an Objective-C library with an umbrella header.
  • Generating a single docs site for an app and its extensions.
  • Producing offline documentation as a Dash docset.

Quick start

  1. 1

    Install jazzy with RubyGems

    [sudo] gem install jazzy
  2. 2

    Run jazzy from the root of your Swift project

    jazzy

Things to know

  • Jazzy expects to run on macOS; Linux usage requires extra tips from the README.

In collections

Topics

FAQ

What is jazzy?
A command-line tool that generates Apple-style HTML API documentation for Swift and Objective-C projects. jazzy generates API reference documentation for Swift and Objective-C code. Rather than parsing source files directly, it uses Clang and SourceKit to read the AST of the code along with its documentation comments, aiming for accurate output. The generated pages mirror the look of Apple's official reference documentation.
Is jazzy free to use? What license does it have?
jazzy is open source under the MIT license. Check the license terms before using it in commercial products.
Is jazzy still maintained?
Updated within 6 months. The last commit to jazzy was on Oct 1, 2026.
What can I use jazzy for?
Publishing API reference docs for a Swift framework or SDK. Documenting an Objective-C library with an umbrella header. Generating a single docs site for an app and its extensions. Producing offline documentation as a Dash docset.
How do I install jazzy?
Install jazzy with RubyGems: [sudo] gem install jazzy Run jazzy from the root of your Swift project: jazzy
Where can I get jazzy?
The source code and installation instructions are on GitHub: https://github.com/realm/jazzy

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects