# Migration overview (/migration)

<!-- agent-signals: reading_time_min: 2 · est_tokens: 584 · updated: 2026-09-23 -->
Related: [What is the agent?](/agent.md), [Analytics overview](/analytics.md), [Assistant](/assistant.md), [Automations overview](/automations.md), [Mintlify CLI](/cli.md), [Components overview](/components.md)

Move your existing documentation to Mintlify with an automated scraper, an export from your current platform, or a manual migration. The best path depends on whether your site is public, whether you can access its source files, and which platform-specific features you use.

<Card title="Docusaurus" href="/migration/docusaurus">
  Scrape a public site, or migrate from source to preserve private pages, versioned docs, localized content, and custom React components.
</Card>

<Card title="ReadMe" href="/migration/readme">
  Export project files to preserve private content and OpenAPI files, or scrape a public site for a faster starting point.
</Card>

<Card title="GitBook" href="/migration/gitbook">
  Export each section with Git Sync for the most complete migration, or scrape a public site.
</Card>

<Card title="Fern" href="/migration/fern">
  Migrate MDX, assets, API specifications, and `docs.yml` configuration from the source repository.
</Card>

<Card title="Document360" href="/migration/document360">
  Export every workspace and language as a project ZIP, including articles, categories, and media files.
</Card>

<Card title="Other platforms" href="/migration/manual">
  Follow the manual workflow for another platform or a project with mixed content sources.
</Card>

## Scrape individual pages [#scrape-individual-pages]

The Docusaurus, ReadMe, and GitBook guides use the scraper's `section` command, which converts every page it can reach from the URL you give it. To convert a single page instead, use the `page` command from your migration directory.

```bash
npx @mintlify/scraping@latest page https://docs.example.com/getting-started
```

Use `page` to check how the scraper converts your content before a full run, or to fill in individual pages that a `section` run missed. For a large site, narrow a `section` run with `--filter` rather than scraping everything at once.

## Generate a site from a repository [#generate-a-site-from-a-repository]

Mintlify can generate a complete documentation site for any GitHub repository, whether it already contains documentation or just code.

Replace `github` with `mintlify` in your repository URL.

```text
https://github.com/org/repo -> https://mintlify.com/org/repo
```

Browse [generated documentation sites](https://www.mintlify.com/wiki) to see more examples.
