|
| 1 | +--- |
| 2 | +title: Stainless vs. Fern |
| 3 | +description: Comprehensive enterprise feature comparison between Stainless Docs and Fern Docs platforms |
| 4 | +--- |
| 5 | + |
| 6 | +## Overview |
| 7 | + |
| 8 | +Fern is [production-ready](/learn/docs/getting-started/quickstart) with stable APIs and comprehensive enterprise features. Stainless is in [early access](https://www.stainless.com/docs/docs-platform/) with breaking changes expected before 1.0. |
| 9 | + |
| 10 | +Choose Fern for enterprise requirements, regulated industries, or production-critical documentation. Choose Stainless for simple documentation with Git-only workflows and Astro preference. |
| 11 | + |
| 12 | +| Capability | Fern | Stainless | |
| 13 | +|------------|------|-----------| |
| 14 | +| **Maturity** | Production-ready, stable APIs | Early access, breaking changes expected | |
| 15 | +| **Authoring** | [Visual editor](/learn/docs/writing-content/fern-editor) + Git | Git only | |
| 16 | +| **Enterprise features** | [RBAC](/learn/docs/authentication/rbac), [SSO](/learn/docs/authentication/sso), [versioning](/learn/docs/configuration/what-is-docs-yml) | None | |
| 17 | +| **API testing** | [Interactive explorer](/learn/docs/api-references/api-explorer/overview) | None | |
| 18 | +| **Deployment** | Cloud + [full-stack self-hosted](/learn/docs/self-hosted/overview) | Static files only | |
| 19 | + |
| 20 | +## Detailed feature comparison |
| 21 | + |
| 22 | +<AccordionGroup> |
| 23 | +<Accordion title="Platform maturity and stability" defaultOpen={true}> |
| 24 | + |
| 25 | +Fern is production-ready with stable APIs and backward compatibility. Stainless is in early access with [expected breaking changes](https://www.stainless.com/docs/docs-platform/) before reaching 1.0. |
| 26 | + |
| 27 | +| Feature | Fern Docs | Stainless Docs | |
| 28 | +|---------|-----------|----------------| |
| 29 | +| **Production status** | ✅ [Production-ready](/learn/docs/getting-started/quickstart), stable | ⚠️ Early access with breaking changes expected | |
| 30 | +| **Enterprise deployments** | ✅ Widely deployed ([ElevenLabs](https://elevenlabs.io/docs), [Webflow](https://developers.webflow.com), [Hume AI](https://dev.hume.ai)) | ⚠️ Limited production usage | |
| 31 | + |
| 32 | +</Accordion> |
| 33 | + |
| 34 | +<Accordion title="Content authoring and governance"> |
| 35 | + |
| 36 | +Stainless uses Git-based workflows for all content authoring. Fern supports both Git workflows and the [Fern Editor](/learn/docs/writing-content/fern-editor), a browser-based visual editor for technical writers, product managers, and support teams. |
| 37 | + |
| 38 | +| Feature | Fern Docs | Stainless Docs | |
| 39 | +|---------|-----------|----------------| |
| 40 | +| **Visual editor** | ✅ [Fern Editor](/learn/docs/writing-content/fern-editor) with GitHub App integration | ❌ None | |
| 41 | +| **Content format** | ✅ [MDX](/learn/docs/writing-content/markdown) with React components | ✅ MDX/Markdoc | |
| 42 | +| **Reusable content** | ✅ [Snippets system](/learn/docs/writing-content/reusable-snippets) | ✅ Markdown partials | |
| 43 | + |
| 44 | +</Accordion> |
| 45 | + |
| 46 | +<Accordion title="API reference and interactive testing"> |
| 47 | + |
| 48 | +Stainless doesn't provide an interactive testing environment. Fern's [API Explorer](/learn/docs/api-references/api-explorer/overview) enables in-browser endpoint testing with automatic credential injection. |
| 49 | + |
| 50 | +| Feature | Fern Docs | Stainless Docs | |
| 51 | +|---------|-----------|----------------| |
| 52 | +| **API Explorer** | ✅ [Full playground](/learn/docs/api-references/api-explorer/overview) with [auto-populated credentials](/learn/docs/api-references/autopopulate-api-key), WebSocket, and audio streaming support | ❌ None | |
| 53 | +| **SDK documentation** | ✅ [Multi-language support](/learn/docs/api-references/sdk-snippets) | ✅ Language-specific pages | |
| 54 | +| **API spec formats** | ✅ [OpenAPI, AsyncAPI, gRPC, OpenRPC, Fern](/learn/docs/api-references/generate-api-ref) | ⚠️ OpenAPI + Stainless config only | |
| 55 | + |
| 56 | +</Accordion> |
| 57 | + |
| 58 | +<Accordion title="RBAC, versioning, and multi-product support"> |
| 59 | + |
| 60 | +Stainless doesn't currently offer audience-specific content filtering, multi-version APIs, or unified multi-product sites. Fern provides [RBAC](/learn/docs/authentication/rbac) and [versioning](/learn/docs/configuration/what-is-docs-yml) capabilities for complex API portfolios. |
| 61 | + |
| 62 | +| Feature | Fern Docs | Stainless Docs | |
| 63 | +|---------|-----------|----------------| |
| 64 | +| **RBAC** | ✅ [Audience-based content filtering](/learn/docs/authentication/rbac) for internal vs. public sites | ❌ None | |
| 65 | +| **API versioning** | ✅ [Multi-version support](/learn/docs/configuration/what-is-docs-yml) with availability states and per-version content | ❌ None | |
| 66 | +| **Multi-product sites** | ✅ [Multiple products](/learn/docs/configuration/what-is-docs-yml) in unified documentation | ⚠️ Basic tabs (Guides/Reference) | |
| 67 | + |
| 68 | +</Accordion> |
| 69 | + |
| 70 | +<Accordion title="AI-powered search and assistance"> |
| 71 | + |
| 72 | +Stainless offers RAG-based search. Fern provides additional AI features including [guidance documents](/learn/ask-fern/), [custom knowledge sources](/learn/ask-fern/), [MCP server](/learn/docs/ai-features/mcp-server), and analytics for operational control. |
| 73 | + |
| 74 | +| Feature | Fern Docs | Stainless Docs | |
| 75 | +|---------|-----------|----------------| |
| 76 | +| **AI chatbot** | ✅ [Ask Fern](/learn/ask-fern/) with Claude/Cohere, [guidance documents](/learn/ask-fern/), and custom knowledge sources | ✅ RAG-based Q&A | |
| 77 | +| **MCP server** | ✅ [Auto-generated](/learn/docs/ai-features/mcp-server) for AI coding assistants | ❌ None | |
| 78 | +| **AI analytics** | ✅ [Content gap identification](/learn/ask-fern/) and insights | ❌ None | |
| 79 | +| **Search** | ✅ Vector search with faceting by language, product, version | ⚠️ Metadata-driven with basic faceting | |
| 80 | +| **LLM-friendly format** | ✅ [/llms.txt and /llms-full.txt](/learn/docs/seo/llms-txt) | ✅ .md extension on URLs | |
| 81 | + |
| 82 | +</Accordion> |
| 83 | + |
| 84 | +<Accordion title="Authentication and security"> |
| 85 | + |
| 86 | +Stainless's [authentication](https://www.stainless.com/docs/docs-platform/advanced/stainless-authentication/) focuses on API keys for their service. Fern's [WorkOS integration](/learn/docs/authentication/sso) provides enterprise SSO (SAML/OIDC) for end-user authentication with role-based content visibility. |
| 87 | + |
| 88 | +| Feature | Fern Docs | Stainless Docs | |
| 89 | +|---------|-----------|----------------| |
| 90 | +| **Enterprise SSO** | ✅ [WorkOS](/learn/docs/authentication/sso) (SAML/OIDC/SCIM) with [RBAC](/learn/docs/authentication/rbac) | ❌ None | |
| 91 | +| **Authenticated pages** | ✅ [Login-protected documentation](/learn/docs/authentication/overview) with [auto-populated credentials](/learn/docs/api-references/autopopulate-api-key) | ⚠️ API keys for Stainless service only | |
| 92 | + |
| 93 | +</Accordion> |
| 94 | + |
| 95 | +<Accordion title="Hosting and deployment"> |
| 96 | + |
| 97 | +Stainless [deploys static files](https://www.stainless.com/docs/docs-platform/hosting-and-deploys/) to hosting platforms. Fern's [self-hosted Docker](/learn/docs/self-hosted/overview) includes a full stack (PostgreSQL, MinIO, MeiliSearch) for on-premises deployment. |
| 98 | + |
| 99 | +| Feature | Fern Docs | Stainless Docs | |
| 100 | +|---------|-----------|----------------| |
| 101 | +| **Cloud hosting** | ✅ [Vercel with AWS VPC backend](/learn/docs/getting-started/publishing-your-docs) | ✅ Cloudflare (default) | |
| 102 | +| **Self-hosted** | ✅ [Full-stack Docker](/learn/docs/self-hosted/overview) (PostgreSQL, S3/MinIO, MeiliSearch) | ❌ Static files only | |
| 103 | +| **Custom domains** | ✅ [Full support](/learn/docs/getting-started/setting-up-your-domain) | ✅ Full support | |
| 104 | + |
| 105 | +</Accordion> |
| 106 | + |
| 107 | +<Accordion title="Redirects, SEO, and large-site operations"> |
| 108 | + |
| 109 | +Stainless doesn't currently document redirect capabilities. Fern's [redirect system](/learn/docs/seo/redirects) supports pattern matching and hundreds of rules for content migrations and reorganization. |
| 110 | + |
| 111 | +| Feature | Fern Docs | Stainless Docs | |
| 112 | +|---------|-----------|----------------| |
| 113 | +| **Redirects** | ✅ [299+ rules](/learn/docs/seo/redirects) with pattern matching (`:slug`, `:splat`) | ❌ None | |
| 114 | +| **SEO optimization** | ✅ [Meta tags, JSON-LD, RSS, OG images, Twitter cards](/learn/docs/seo/metadata) | ✅ Basic meta tags | |
| 115 | +| **Sitemap & robots.txt** | ✅ [Automatic generation](/learn/docs/seo/metadata) | ✅ Automatic (assumed) | |
| 116 | + |
| 117 | +</Accordion> |
| 118 | + |
| 119 | +<Accordion title="Analytics and observability"> |
| 120 | + |
| 121 | +Stainless doesn't currently document built-in analytics capabilities. Fern provides [analytics integrations](/learn/docs/integrations/overview) for page visits, search queries, AI chat insights, and user journeys. |
| 122 | + |
| 123 | +| Feature | Fern Docs | Stainless Docs | |
| 124 | +|---------|-----------|----------------| |
| 125 | +| **Analytics integrations** | ✅ [PostHog](/learn/docs/integrations/analytics/posthog), [Google Analytics](/learn/docs/integrations/analytics/google), [Segment](/learn/docs/integrations/analytics/segment), [Mixpanel](/learn/docs/integrations/analytics/mixpanel) ([full list](/learn/docs/integrations/overview)) | ❌ None | |
| 126 | +| **Documentation insights** | ✅ Search analytics, AI chat tracking, content gap identification | ❌ None | |
| 127 | +| **Performance monitoring** | ✅ Vercel Analytics | ⚠️ Cloudflare Analytics | |
| 128 | + |
| 129 | +</Accordion> |
| 130 | + |
| 131 | +<Accordion title="Extensibility and integrations"> |
| 132 | + |
| 133 | +Both platforms support [customization](https://www.stainless.com/docs/docs-platform/customization/styles-and-fonts/), but Fern provides deeper enterprise integrations including [MCP server](/learn/docs/ai-features/mcp-server) for AI assistants, webhooks, and [30+ pre-built components](/learn/docs/writing-content/components/overview). |
| 134 | + |
| 135 | +| Feature | Fern Docs | Stainless Docs | |
| 136 | +|---------|-----------|----------------| |
| 137 | +| **Component library** | ✅ [30+ pre-built components](/learn/docs/writing-content/components/overview) ([Accordion](/learn/docs/writing-content/components/accordions), [Callout](/learn/docs/writing-content/components/callouts), [Card](/learn/docs/writing-content/components/cards), [Tabs](/learn/docs/writing-content/components/tabs), etc.) | ⚠️ Standard library | |
| 138 | +| **Custom components** | ✅ [React components](/learn/docs/writing-content/custom-react-components) with [custom CSS/JS](/learn/docs/customization/custom-css-js) | ✅ Astro components with custom CSS/JS | |
| 139 | +| **Third-party integrations** | ✅ [Algolia, PostHog, WorkOS, Intercom, etc.](/learn/docs/integrations/overview) | ⚠️ Astro ecosystem | |
| 140 | +| **Developer APIs** | ✅ [MCP server](/learn/docs/ai-features/mcp-server), webhooks, FDR API | ❌ None | |
| 141 | + |
| 142 | +</Accordion> |
| 143 | +</AccordionGroup> |
| 144 | + |
| 145 | +## Technology stack comparison |
| 146 | + |
| 147 | +| Component | Fern Docs | Stainless Docs | |
| 148 | +|-----------|-----------|----------------| |
| 149 | +| **Frontend** | Next.js (React) with SSR/SSG | Astro (static site generator) | |
| 150 | +| **Backend** | Node.js/Express (FDR) on AWS VPC | Stainless API service | |
| 151 | +| **Database** | PostgreSQL | Not applicable (static) | |
| 152 | +| **Cache** | Redis, Vercel KV (Upstash) | Cloudflare CDN | |
| 153 | +| **Storage** | S3 (AWS/MinIO) | Not applicable (static) | |
| 154 | +| **Search** | Algolia, MeiliSearch (self-hosted) | Metadata-driven indexing | |
| 155 | +| **Vector database** | TurboPuffer | None | |
| 156 | +| **AI** | Bedrock, Claude, Cohere | RAG with LLM (provider not specified) | |
| 157 | +| **Authentication** | WorkOS | API keys (for Stainless service) | |
| 158 | +| **CDN** | Cloudflare + Vercel Edge | Cloudflare | |
| 159 | +| **Analytics** | PostHog | None | |
| 160 | +| **Deployment** | Vercel, Docker (self-hosted) | Cloudflare, any static host | |
| 161 | + |
| 162 | + |
| 163 | + |
0 commit comments