# Fumadocs vs MkDocs

| Attribute | Fumadocs | MkDocs |
|---|---|---|
| **Vioscale score** | 55.5 (66% (medium)) | 55 (68% (medium)) |
| activity.commits_last_30d | 100 | 0 |
| adoption.dependent_repos | 0 | - |
| adoption.github_stars | 12,988 | 22,380 |
| adoption.package_downloads_weekly | 1,484,879 | 3,992,344 |
| deployment.options | `{"cloud":true,"self_hosted":true}` | `{"cloud":true,"self_hosted":true}` |
| description.long | A developer-focused documentation framework built on React, supporting Markdown and MDX authoring with customizable themes, OpenAPI integration for API documentation, and component showcase capabilities. | A documentation platform that converts Markdown files into static HTML websites. It offers built-in themes, plugin support for extensions, and YAML-based configuration for easy customization. |
| features.capabilities | `{"kind":"static_generator","engine":"React","search":"algolia","authoring":"mdx","themeable":true,"api_reference":true,"self_hostable":true,"hosted_offering":false}` | `{"i18n":true,"kind":"static_generator","engine":"Python","authoring":"markdown","themeable":true,"api_reference":true,"self_hostable":true,"hosted_offering":false}` |
| integrations.count | 6 | - |
| integrations.list | `[{"name":"OpenAPI"},{"name":"AsyncAPI"},{"name":"GraphQL"},{"name":"Next.js"},{"name":"Astro"},{"name":"React Router"},{"name":"Tanstack Start"},{"name":"Waku"},{"name":"Algolia Search"},{"name":"Orama Search"}]` | - |
| language.primary | TypeScript | Python |
| license.spdx | MIT | BSD-2-Clause |
| platform.support | `{"cli":true,"web":true}` | `{"cli":true,"web":true}` |
| pricing | - | `{"type":"open_source","sourceUrl":"https://www.mkdocs.org","retrievedAt":"2026-08-14T15:21:13.062Z"}` |
| pricing.free_tier | - | yes |
| pricing.model | - | open_source |
| pricing.price_level | - | free |
| release.cadence_days | - | 77 |
| release.history | `[{"url":"https://github.com/fuma-nama/fumadocs/releases/tag/fumadocs%4016.15.2","date":"2026-08-26T10:48:20Z","type":"stable","version":"fumadocs@16.15.2"},{"url":"https://github.com/fuma-nama/fumadocs/releases/tag/fumadocs-openapi%4011.3.4","date":"2026-08-26T10:48:21Z","type":"stable","version":"fumadocs-openapi@11.3.4"},{"url":"https://github.com/fuma-nama/fumadocs/releases/tag/cli%4016.1.20","date":"2026-08-26T10:48:20Z","type":"stable","version":"cli@16.1.20"},{"url":"https://github.com/fuma-nama/fumadocs/releases/tag/%40fumadocs/satteri%400.4.3","date":"2026-08-26T10:48:21Z","type":"stable","version":"@fumadocs/satteri@0.4.3"},{"url":"https://github.com/fuma-nama/fumadocs/releases/tag/%40fumadocs/language%400.2.4","date":"2026-08-26T10:48:21Z","type":"stable","version":"@fumadocs/language@0.2.4"},{"url":"https://github.com/fuma-nama/fumadocs/releases/tag/%40fumadocs/graphql%400.2.2","date":"2026-08-26T10:48:20Z","type":"stable","version":"@fumadocs/graphql@0.2.2"},{"url":"https://github.com/fuma-nama/fumadocs/releases/tag/%40fumadocs/asyncapi%400.3.2","date":"2026-08-26T10:48:20Z","type":"stable","version":"@fumadocs/asyncapi@0.3.2"},{"url":"https://github.com/fuma-nama/fumadocs/releases/tag/%40fumadocs/api-docs%400.2.5","date":"2026-08-26T10:48:20Z","type":"stable","version":"@fumadocs/api-docs@0.2.5"},{"url":"https://github.com/fuma-nama/fumadocs/releases/tag/fumadocs-python%401.0.1","date":"2026-08-25T12:17:20Z","type":"stable","version":"fumadocs-python@1.0.1"},{"url":"https://github.com/fuma-nama/fumadocs/releases/tag/fumadocs-openapi%4011.3.3","date":"2026-08-25T14:18:36Z","type":"stable","version":"fumadocs-openapi@11.3.3"},{"url":"https://github.com/fuma-nama/fumadocs/releases/tag/fumadocs-openapi%4011.3.2","date":"2026-08-25T12:17:19Z","type":"stable","version":"fumadocs-openapi@11.3.2"},{"url":"https://github.com/fuma-nama/fumadocs/releases/tag/%40fumadocs/language%400.2.3","date":"2026-08-25T12:17:19Z","type":"stable","version":"@fumadocs/language@0.2.3"},{"url":"https://github.com/fuma-nama/fumadocs/releases/tag/%40fumadocs/graphql%400.2.1","date":"2026-08-25T12:17:19Z","type":"stable","version":"@fumadocs/graphql@0.2.1"},{"url":"https://github.com/fuma-nama/fumadocs/releases/tag/%40fumadocs/asyncapi%400.3.1","date":"2026-08-25T12:17:19Z","type":"stable","version":"@fumadocs/asyncapi@0.3.1"},{"url":"https://github.com/fuma-nama/fumadocs/releases/tag/%40fumadocs/api-docs%400.2.4","date":"2026-08-25T12:17:19Z","type":"stable","version":"@fumadocs/api-docs@0.2.4"},{"url":"https://github.com/fuma-nama/fumadocs/releases/tag/fumadocs%4016.15.1","date":"2026-08-23T12:35:03Z","type":"stable","version":"fumadocs@16.15.1"},{"url":"https://github.com/fuma-nama/fumadocs/releases/tag/fumadocs-python%401.0.0","date":"2026-08-23T12:35:04Z","type":"stable","version":"fumadocs-python@1.0.0"},{"url":"https://github.com/fuma-nama/fumadocs/releases/tag/fumadocs-openapi%4011.3.1","date":"2026-08-23T12:35:03Z","type":"stable","version":"fumadocs-openapi@11.3.1"},{"url":"https://github.com/fuma-nama/fumadocs/releases/tag/fumadocs-obsidian%401.0.3","date":"2026-08-23T12:35:03Z","type":"stable","version":"fumadocs-obsidian@1.0.3"},{"url":"https://github.com/fuma-nama/fumadocs/releases/tag/cli%4016.1.19","date":"2026-08-23T12:35:03Z","type":"stable","version":"cli@16.1.19"}]` | `[{"url":"https://github.com/mkdocs/mkdocs/releases/tag/1.6.1","date":"2024-08-30T12:23:09Z","type":"stable","version":"1.6.1"},{"url":"https://github.com/mkdocs/mkdocs/releases/tag/1.6.0","date":"2024-04-20T17:55:01Z","type":"stable","version":"1.6.0"},{"url":"https://github.com/mkdocs/mkdocs/releases/tag/1.5.3","date":"2023-09-18T21:27:59Z","type":"stable","version":"1.5.3"},{"url":"https://github.com/mkdocs/mkdocs/releases/tag/1.5.2","date":"2023-08-02T14:54:19Z","type":"stable","version":"1.5.2"},{"url":"https://github.com/mkdocs/mkdocs/releases/tag/1.5.1","date":"2023-07-27T22:44:51Z","type":"stable","version":"1.5.1"},{"url":"https://github.com/mkdocs/mkdocs/releases/tag/1.5.0","date":"2023-07-26T20:39:53Z","type":"stable","version":"1.5.0"},{"url":"https://github.com/mkdocs/mkdocs/releases/tag/1.4.3","date":"2023-05-02T21:19:16Z","type":"stable","version":"1.4.3"},{"url":"https://github.com/mkdocs/mkdocs/releases/tag/1.4.2","date":"2022-11-01T18:34:14Z","type":"stable","version":"1.4.2"},{"url":"https://github.com/mkdocs/mkdocs/releases/tag/1.4.1","date":"2022-10-15T19:19:40Z","type":"stable","version":"1.4.1"},{"url":"https://github.com/mkdocs/mkdocs/releases/tag/1.4.0","date":"2022-09-27T17:38:06Z","type":"stable","version":"1.4.0"},{"url":"https://github.com/mkdocs/mkdocs/releases/tag/1.3.1","date":"2022-07-19T07:28:26Z","type":"stable","version":"1.3.1"},{"url":"https://github.com/mkdocs/mkdocs/releases/tag/1.3.0","date":"2022-03-26T19:55:09Z","type":"stable","version":"1.3.0"},{"url":"https://github.com/mkdocs/mkdocs/releases/tag/1.2.4","date":"2022-03-26T19:39:40Z","type":"stable","version":"1.2.4"},{"url":"https://github.com/mkdocs/mkdocs/releases/tag/1.2.3","date":"2021-10-12T21:59:03Z","type":"stable","version":"1.2.3"},{"url":"https://github.com/mkdocs/mkdocs/releases/tag/1.2.2","date":"2021-07-18T19:32:00Z","type":"stable","version":"1.2.2"}]` |
| security.scorecard | - | 4.1 |
| security.vulnerabilities | `{"count":0,"source":"https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=npm&package_name=arielweinberger-fumadocs-ui&per_page=100","last_12m":0,"max_severity":null}` | - |

## Capabilities (Documentation Tools)

| Capability | Fumadocs | MkDocs |
|---|:--:|:--:|
| **Core** |  |  |
| Tool kind | Static-site generator | Static-site generator |
| Engine / language | React | Python |
| **Authoring** |  |  |
| Authoring format | MDX | Markdown |
| **API docs** |  |  |
| API reference from OpenAPI / code | ✓ | ✓ |
| **Content** |  |  |
| Multi-version docs | - | - |
| Internationalisation | - | ✓ |
| **Discovery** |  |  |
| Search | Algolia DocSearch | - |
| **Design** |  |  |
| Theming / custom design | ✓ | ✓ |
| **Workflow** |  |  |
| Edit-in-Git / WYSIWYG round-trip | - | - |
| **Deployment** |  |  |
| Self-hostable | ✓ | ✓ |
| Official managed host | ✗ | ✗ |
| **Insight** |  |  |
| Built-in usage analytics | - | - |

*Source: Vioscale. Generated 2026-09-01T17:03:38.197Z. "-" = undocumented, not absent.*
