> For clean Markdown content of this page, append .md to this URL. For the complete documentation index, see https://buildwithfern.com/learn/llms.txt.

# `llms.txt`

> Fern automatically generates an llms.txt Markdown file so AI tools can discover and index your documentation.

[`llms.txt`](https://llmstxt.org/) is a standard for exposing website content to AI developer tools. Fern implements this standard, automatically generating and maintaining an `llms.txt` Markdown file so AI tools can discover and index your documentation. For single pages, agents can also fetch [Markdown directly](/learn/docs/ai-features/markdown).

`llms.txt` is a root-level file Fern serves to non-human consumers, alongside [`robots.txt`](/learn/docs/seo/robots-txt). `robots.txt` decides which crawlers reach your site and what AI training signals you broadcast; `llms.txt` shapes what AI agents receive once they do.

![Example of using llms.txt](/learn/_fern-img/1c185b18406eca1fab6e4bb38b78cccf02f4eb6de5fbb5f179230f1ccd600730.webp)

## What `llms.txt` contains

`llms.txt` contains a lightweight summary of your documentation site with each page distilled into a one-sentence description and URL. For sites with API endpoints, it also links to your [OpenAPI specification](/learn/docs/developer-tools/openapi-spec) as a standalone, machine-readable file so AI tools can parse your full API schema directly. For sites with WebSocket channels, it also links to your [AsyncAPI specification](/learn/docs/developer-tools/asyncapi-spec). Fetching an endpoint page listed in `llms.txt` returns its [parameters, body, response, and authentication as a readable property list](/learn/docs/ai-features/markdown#api-reference-pages).

`llms.txt` is available at any level of your documentation hierarchy (`/llms.txt`, `/docs/llms.txt`, `/docs/ai-features/llms.txt`, etc.).

Example: [Eleven Labs llms.txt](https://elevenlabs.io/docs/llms.txt).

Fern doesn't generate `llms-full.txt`. Full-site concatenation exceeded most model context windows, added heavy serving overhead, and saw little use compared to `llms.txt` combined with per-page [Markdown access](/learn/docs/ai-features/markdown). Use `llms.txt` to discover pages and fetch them individually.

## Page descriptions

`llms.txt` includes page descriptions pulled from [frontmatter](/learn/docs/configuration/page-level-settings). Fern uses the `description` field if present, otherwise falls back to `subtitle`.

```mdx title="Frontmatter"
---
title: Fern Docs
subtitle: Build beautiful documentation websites with Fern.
---
```

The output format depends on whether you're requesting an individual page or a section:

#### Individual pages

```txt title=".../page/llms.txt"
# Fern Docs

> Build beautiful documentation websites with Fern.
```

#### Section

```txt title=".../section/llms.txt"
- [Fern Docs](https://example.com/docs): Build beautiful documentation websites with Fern.
```

## Learn more

#### [Customize LLM output](/learn/docs/ai-features/customize-llm-output)

Exclude pages, filter content with tags, or serve your own custom files.

#### [Agent directives](/learn/docs/ai-features/agent-directives)

Configure the default directive prepended to every page served to AI agents.

#### [Analytics and integration](/learn/docs/ai-features/llms-txt-analytics)

Track LLM traffic and surface `llms.txt` endpoints to readers.