llms.txt and llms-full.txt
llms.txt is a standard for exposing website content to AI developer tools. Fern implements this standard, automatically generating and maintaining llms.txt and llms-full.txt Markdown files for your documentation site. When an LLM bot accesses your docs, Fern serves these Markdown files instead of HTML, reducing token consumption by 90%+.

Generated files
Fern generates two files for LLMs:
-
llms.txtcontains a lightweight summary of your documentation site with each page distilled into a one-sentence description and URL. -
llms-full.txtcontains complete documentation content including the full text of all pages. For API documentation, this includes your complete API Reference with resolved OpenAPI specifications and SDK code examples for enabled languages.
Both files are available at any level of your documentation hierarchy (/llms.txt, /llms-full.txt, /docs/llms.txt, /docs/ai-features/llms-full.txt, etc.).
Examples: Eleven Labs llms.txt, Cash App llms-full.txt.
Page descriptions
Both files include page descriptions pulled from frontmatter. Fern uses the description field if present, otherwise falls back to subtitle.
The output format depends on whether you’re requesting an individual page or a section:
Individual page — Both llms.txt and llms-full.txt return the same format:
Section — The two files differ:
Filter output
Filter llms.txt and llms-full.txt output with the lang and excludeSpec query parameters to reduce token usage. Parameters can also be combined.
Filter SDK code examples to a specific language. Common aliases are also accepted: javascript, typescript, js, ts, py, and golang. Case-insensitive.
Exclude OpenAPI and AsyncAPI specification sections.
Control visibility
You can exclude whole pages from LLM endpoints (llms.txt and llms-full.txt) by adding noindex: true to the page’s frontmatter. Pages marked noindex are hidden from your documentation site’s navigation and not indexed by search engines but can still be accessed directly by URL.
Within pages, use <llms-only> and <llms-ignore> tags to control what content is exposed to AI versus human readers on your documentation site. These tags affect all Markdown output intended for AI consumption: LLM endpoints, Copy page, and View as Markdown.
Content for AI only
Use the <llms-only> tag to show content to AI but hide it from human readers on your documentation site. This is useful for:
- Technical context that’s verbose but helpful for AI, like implementation details or architecture notes
- Code-related metadata that would clutter the human UI
- Cross-references that help AI understand relationships between pages
Content for humans only
Use the <llms-ignore> tag to show content to human readers on your documentation site while hiding it from AI. This is useful for:
- Marketing CTAs or promotional content
- Navigation hints meant only for human readers
- Internal comments that should remain only in source files
Analytics and monitoring
The Fern Dashboard provides comprehensive analytics for llms.txt usage including:
- Traffic by LLM provider (Claude, ChatGPT, Cursor, etc.)
- Page-level breakdowns of bot vs. human visitors for Markdown and
llms.txtfiles
This visibility helps you understand LLM traffic patterns and optimize your documentation for AI consumption.