DocFX vs MkDocs
DocFX
dotnet.github.ioMkDocs
mkdocs.orgSide by side
| Figure | DocFX | MkDocs |
|---|---|---|
| Price from | Free | — |
| Free plan | Yes | — |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| API | Yes | — |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 0 |
| Spec score · Documentation Generators | 8.2 (#6) | 7.6 (#17) |
| Spec score · Technical Documentation Software | 8.2 (#12) | 7.4 (#29) |
| Spec score · Technical Writing Platforms | 8.3 (#9) | 7.5 (#23) |
| Spec score · Developer Documentation Software | 8.2 (#11) | 7.5 (#18) |
| Spec score · Knowledge base software | 7.7 (#102) | 7.4 (#116) |
| Customization | Users can customize templates with CSS, JavaScript, Mustache templates, and metadata settings. | Users can customize themes, install plugins, enable Markdown extensions, and configure many options. |
| Free plan | Yes | Yes |
| Output | DocFX can produce rendered HTML pages, JSON models, or PDF files. | MkDocs builds static HTML files that can be hosted on GitHub Pages, Amazon S3, or any other static-file host. |
| Purpose | DocFX builds technical documentation sites from .NET assemblies, XML code comments, REST API Swagger files, and Markdown. | MkDocs is a static site generator geared toward building project documentation from Markdown and a single YAML configuration file. |
| Support | The DocFX project is listed as supported by the .NET Foundation. | The project directs users to GitHub Discussions and GitHub Issues for help. |
Plans
In their own words
DocFX
DocFX is a free static site generator for technical documentation. It builds documentation from .NET assemblies, XML code comments, REST API Swagger files and Markdown, and can produce rendered HTML pages, JSON models or PDFs. Static HTML output is placed in the `_site` folder for publication to hosting services such as GitHub Pages. DocFX can also be used as a NuGet library through the `Docfx.App` package and .NET APIs. It parses CommonMark-compliant Markdown with Markdig and supports additional extensions. Built-in templates include a modern option with dark mode and customization settings; users can also customize templates with CSS, JavaScript, Mustache templates and metadata. DocFX can generate git links for GitHub, GitLab, Azure Pipelines, AppVeyor, TeamCity and Jenkins. It requires .NET SDK 8.0 or higher. Node.js v20 or higher is optional generally, but required to create PDFs. Native reference documentation generation covers .NET and REST APIs; other languages need a custom API docs converter. PlantUML diagrams use a remote server by default, with local rendering available as a setting.
MkDocs
MkDocs is a static site generator for project documentation written in Markdown, with project settings held in a YAML file. It produces static HTML that can be published to GitHub Pages, Amazon S3, or another static-file host. Its development server provides a local preview and refreshes it when documentation changes; generated sites also include search that can link to matching sections. The command-line tools cover creating a project, serving a preview, building the site, checking dependencies, and deploying to GitHub Pages. MkDocs uses Python-Markdown and requires a recent Python version and pip. The built-in mkdocs and readthedocs themes are available alongside third-party and custom themes, while plugins, Markdown extensions, and configuration options allow further changes. The built-in mkdocs theme supports several locales, including English, German, Spanish, French, Japanese, and Chinese. MkDocs is free, available for Linux, macOS, Windows, and self-hosted use, and distributed under the BSD license. Third-party themes and plugins run their authors’ code without sandboxing.