# Keep your Mintlify docs.

Margin is an open-source Mintlify alternative. It reads docs.json and your MDX as they are.

[Deploy free on Manicule](https://app.manicule.com/onboard?product=margin) · [View on GitHub](https://github.com/maniculehq/margin)

Files that carry over unchanged: `docs.json`, `*.mdx`, `snippets/`, `openapi.yaml`

## Switch without a rewrite.

On Manicule, your repository is the whole setup.

1. **Connect your repo.** Pick the repository, branch and docs folder.
2. **Keep your docs.json.** Nothing to convert or rename.
3. **Push.** Each push to the branch publishes the site.

Self-hosting? [Start from GitHub](https://github.com/maniculehq/margin)

[Margin vs Mintlify, feature by feature](https://margin.manicule.com/compare/mintlify)

## Every docs.json field, accounted for.

Unsupported fields warn. The build still succeeds.

- **Supported:** Works as it does on Mintlify.
- **Adapted:** Works, mapped to the closest match.
- **Ignored:** Read without error. No effect.

### Basics

| Field | Status |
| --- | --- |
| `$schema` | Ignored |
| `name` | Supported |
| `description` | Supported |
| `logo` | Supported |
| `favicon` | Supported |
| `public` | Ignored |
| `variables` | Supported |
| `errors.404` | Supported |
| `feedback` | Supported |
| `contextual` | Adapted |

### Navigation

| Field | Status |
| --- | --- |
| `navigation.tabs` | Supported |
| `navigation.groups` | Supported |
| `navigation.pages` | Supported |
| `navigation.anchors` | Adapted |
| `navigation.dropdowns` | Supported |
| `navigation.versions` | Supported |
| `navigation.languages` | Supported |
| `navigation.products` | Adapted |
| `navigation.global` | Supported |
| `groups.boost` | Ignored |

### Appearance

| Field | Status |
| --- | --- |
| `theme` | Adapted |
| `colors` | Supported |
| `appearance` | Adapted |
| `background` | Adapted |
| `fonts` | Adapted |
| `icons.library` | Adapted |
| `styling.codeblocks` | Supported |
| `styling.latex` | Supported |
| `banner` | Supported |
| `navbar` | Supported |
| `footer` | Supported |
| `interaction.drilldown` | Adapted |

### SEO

| Field | Status |
| --- | --- |
| `seo.metatags` | Supported |
| `seo.indexing` | Supported |
| `redirects` | Supported |
| `thumbnails` | Adapted |
| `metadata.timestamp` | Supported |
| `markdown` | Supported |

### Integrations

| Field | Status |
| --- | --- |
| `api.openapi` | Supported |
| `api.playground` | Adapted |
| `api.examples` | Adapted |
| `api.asyncapi` | Ignored |
| `api.mdx` | Ignored |
| `integrations.ga4` | Supported |
| `integrations.posthog` | Supported |
| `integrations.plausible` | Supported |
| `integrations.fathom` | Supported |
| `integrations.clarity` | Supported |
| `integrations.segment` | Supported |
| `integrations.amplitude` | Supported |
| `integrations.mixpanel` | Supported |
| `integrations.hotjar` | Supported |
| `integrations.intercom` | Supported |
| `integrations.gtm` | Ignored |

## Every component, by name.

The tags in your MDX render as written.

`<Agent>`, `<Human>`, `<Visibility>`, `<Callout>`, `<Note>`, `<Info>`, `<Tip>`, `<Warning>`, `<Check>`, `<Accordion>`, `<AccordionGroup>`, `<Badge>`, `<Card>`, `<CardGroup>`, `<Image>`, `<ParamField>`, `<ResponseField>`, `<Tab>`, `<Tabs>`, `<CodeGroup>`, `<Columns>`, `<Frame>`, `<Snippet>`, `<Step>`, `<Steps>`, `<Tooltip>`, `<Update>`, `<Mermaid>`, `<Expandable>`, `<Icon>`, `<Prompt>`, `<Danger>`, `<RequestExample>`, `<ResponseExample>`, `<FileTree>`, `<Tree>`, `<PreviewButton>`, `<Panel>`, `<Tile>`, `<Color>`, `<View>`, `<GitHub>`

## And then some.

Optional extras, in the same file. Set them under `x-margin` in docs.json.

- `layout`: Content, sidebar, TOC and header sizes.
- `seo`: Title template, language and publisher.
- `agents`: Instructions your MCP server gives agents.

Also: tokens, css, head.meta, search, versions and assets.

## Publish your docs today.

Free on Manicule in a few minutes, or on your own servers whenever you like.

[Deploy free on Manicule](https://app.manicule.com/onboard?product=margin) · [View on GitHub](https://github.com/maniculehq/margin)
