---
title: "Fern: agent readability profile: Agent Ready HTML"
description: "Fern scores 14 of 16 on the read-layer rubric: initial HTML, status codes, llms.txt, markdown, JSON-LD, OpenAPI and code. Read 2026-11-04."
canonical: https://agentreadyhtml.com/platforms/fern/
site: "Agent Ready HTML"
last_updated: 2026-11-04
section: "Platforms"
---

# Fern: agent readability profile: Agent Ready HTML

> Fern scores 14 of 16 on the read-layer rubric: initial HTML, status codes, llms.txt, markdown, JSON-LD, OpenAPI and code. Read 2026-11-04.

Source: https://agentreadyhtml.com/platforms/fern/
Site: Agent Ready HTML
Last reviewed: 2026-11-04

# Fern: what an agent reads

In short

Fern does not give individual pages their own llms.txt. Fern totals 14 of 16 on the eight numeric keys, from cited documentation read 4 November 2026. It also does not serve custom llms.txt files for non-default locales. Fern: Fern serves llms.txt at the root and for every navigation node: sections, products, versions, tabs, API references and changelogs.

**rubric.txt** fern

```text
initial_html_by_default  = 2
real_status_codes        = 2
llms_txt_generation      = 2
llms_txt_linking         = 2
markdown_negotiation     = 2
jsonld_output            = 0
openapi_exposure         = 2
fenced_code              = 2
total                    = 14 of 16
```

Read 2026-11-04. Documentation, not a test build.

**Fern** Docs platform, Fern

API docs platform that generates llms.txt per navigation node, serves .md and .mdx twins and Accept: text/markdown, and returns agent-oriented 404s.

Work left to the developer: Low: write frontmatter descriptions; use llms-only and llms-ignore controls where needed.

## The nine scores

| Key | Score | Evidence | Source |
| --- | --- | --- | --- |
| Content in the initial HTML | 2, on by default | Sites are prebuilt as static pages since 2026-10-30. Not test-built: publishing docs needs a Fern account. Score from the documentation page cited, read 2026-11-04. | buildwithfern.com/learn/docs/changelog, 2026-11-04 |
| Real status codes | 2, on by default | Missing .md URLs return agent 404 responses with suggestions. Not test-built: publishing docs needs a Fern account. Score from the documentation page cited, read 2026-11-04. | buildwithfern.com/learn/docs/changelog, 2026-11-04 |
| llms.txt generation | 2, on by default | Automatic at root and per navigation node. Not test-built: publishing docs needs a Fern account. Score from the documentation page cited, read 2026-11-04. | buildwithfern.com/learn/docs/ai-features/llms-txt, 2026-11-04 |
| llms.txt linking | 2, on by default | A per-page directive prepended to markdown points agents to .md URLs and llms.txt. Not test-built: publishing docs needs a Fern account. Score from the documentation page cited, read 2026-11-04. | buildwithfern.com/learn/docs/ai-features/markdown, 2026-11-04 |
| Markdown on request | 2, on by default | Accept: text/markdown documented. Not test-built: publishing docs needs a Fern account. Score from the documentation page cited, read 2026-11-04. | buildwithfern.com/learn/docs/ai-features/markdown, 2026-11-04 |
| JSON-LD output | 0, not offered | Not documented on the pages read. Not test-built: publishing docs needs a Fern account. Score from the documentation page cited, read 2026-11-04. | buildwithfern.com/learn/docs/ai-features/markdown, 2026-11-04 |
| OpenAPI exposure | 2, on by default | llms.txt links the standalone OpenAPI spec. Not test-built: publishing docs needs a Fern account. Score from the documentation page cited, read 2026-11-04. | buildwithfern.com/learn/docs/ai-features/llms-txt, 2026-11-04 |
| Fenced, tagged code | 2, on by default | Markdown output keeps code; SDK examples can be filtered by language. Not test-built: publishing docs needs a Fern account. Score from the documentation page cited, read 2026-11-04. | buildwithfern.com/learn/docs/changelog, 2026-11-04 |
| Work left to the developer |  | Low: write frontmatter descriptions; use llms-only and llms-ignore controls where needed. Descriptions come from frontmatter. Not test-built: publishing docs needs a Fern account. Score from the documentation page cited, read 2026-11-04. | buildwithfern.com/learn/docs/ai-features/llms-txt, 2026-11-04 |

## Test build

Not test-built: the scores above come from the documentation pages cited in each row, read 4 November 2026, because the platform needs an account or a paid plan. The reason is in each evidence cell.

## What the documentation says

Each statement below carries its source and the date read. Statements a vendor makes about itself are labelled as vendor claims.

-   Fern generates and maintains llms.txt automatically and links the OpenAPI spec in it for sites with API endpoints, and the AsyncAPI spec for WebSocket channels. \[primary source\] [source](https://buildwithfern.com/learn/docs/ai-features/llms-txt), read 4 November 2026.
-   Fern serves llms.txt at the root and for every navigation node: sections, products, versions, tabs, API references and changelogs. \[primary source\] [source](https://buildwithfern.com/learn/docs/ai-features/llms-txt), read 4 November 2026.
-   A request for /<page>/llms.txt returns a 301 to the page markdown at /<page>.md. \[primary source\] [source](https://buildwithfern.com/learn/docs/ai-features/llms-txt), read 4 November 2026.
-   Agents can fetch markdown by appending .md or .mdx or by sending Accept: text/markdown; Fern says this cuts token use by more than 90 percent against HTML. \[vendor claim\] [source](https://buildwithfern.com/learn/docs/ai-features/markdown), read 4 November 2026.
-   API reference endpoint pages render as markdown with Request, Response and Authentication sections. \[primary source\] [source](https://buildwithfern.com/learn/docs/ai-features/markdown), read 4 November 2026.
-   Changelog of 2026-09-18: llms.txt accepts lang=php and excludeChangelog=true, and agent 404 responses suggest up to five similar pages. \[primary source, 2026-09-18\] [source](https://buildwithfern.com/learn/docs/changelog), read 4 November 2026.
-   Changelog of 2026-10-30: Fern Docs sites are now prebuilt as static pages served from the edge, and custom domains pointing to Vercel must move to cname.ferndocs.com by 2026-12-01. \[primary source, 2026-10-30\] [source](https://buildwithfern.com/learn/docs/changelog), read 4 November 2026.

## What it does not do

-   Does not give individual pages their own llms.txt.
-   Does not serve custom llms.txt files for non-default locales.

## Compare and replace

-   [Fern against Mintlify](https://agentreadyhtml.com/compare/fern-vs-mintlify/)
-   [Fern against ReadMe](https://agentreadyhtml.com/compare/readme-vs-fern/)
-   [Fern against Scalar](https://agentreadyhtml.com/compare/scalar-vs-fern/)
-   [Alternatives to Fern](https://agentreadyhtml.com/platforms/fern/alternatives/)
-   [Fern: vendor profile](https://agentreadyhtml.com/vendors/fern/)
-   [Postman: vendor profile](https://agentreadyhtml.com/vendors/postman/)
-   [Fern home page](https://buildwithfern.com/)

## Sources

1.  [Fern docs: llms.txt](https://buildwithfern.com/learn/docs/ai-features/llms-txt) https://buildwithfern.com/learn/docs/ai-features/llms-txt, read 4 November 2026
2.  [Fern docs: Markdown access](https://buildwithfern.com/learn/docs/ai-features/markdown) https://buildwithfern.com/learn/docs/ai-features/markdown, read 4 November 2026
3.  [Fern changelog](https://buildwithfern.com/learn/docs/changelog) https://buildwithfern.com/learn/docs/changelog, read 4 November 2026
4.  [buildwithfern.com](https://buildwithfern.com/) https://buildwithfern.com/, read 4 November 2026

Last reviewed 4 November 2026

Edition

Crawl

2026-11-04

Page updated

2026-11-04

Method

How the viewer reads a page, how a file is graded and how a platform is scored: [the method page](https://agentreadyhtml.com/method/).
