Citably.

Guides ·  8-min read  ·  June 2, 2026

llms.txt:
the brand fact-pack for AI search.

By Jake Pereira· Founder, Citably · Atlanta GA

llms.txt is the file ChatGPT and Perplexity now look for first. It’s a hand-written markdown brief that tells answer engines who you are, what you do, what to quote, and how to attribute you. This guide is how Citably writes them for clients: same shape, no plugins, no shortcuts.

01 · Definition

What llms.txt is.

llms.txt is a plain-markdown file at the root of your domain, fetched at https://yourdomain.com/llms.txt. It contains a structured fact-pack that AI answer engines (ChatGPT, Claude, Perplexity, Bing Copilot, Google AI Overviews, Gemini, and Grok) read to understand who you are before they cite you.

The file format was proposed by Jeremy Howard and Answer.AI in September 2024. It has no formal RFC; adoption is driven by AI engines choosing to read it. As of 2026, Perplexity and ChatGPT both fetch it as part of their crawl pipeline. Bing Copilot follows.

Structurally it’s simple: an H1 with your brand name, a blockquote summary, then H2-delimited sections covering core facts, services, methodology, FAQ, and citation guidelines. Strict markdown, no HTML, no scripts, no images.

“llms.txt is the brand fact-pack. robots.txt is the access policy. They are not interchangeable.”

02 · The case for shipping one

Why ChatGPT and Perplexity look for it.

Answer engines need a single canonical source for brand facts. Without it, they synthesize, pulling pricing from one cached page, the founder bio from LinkedIn, and the value proposition from your homepage hero. The result is often outdated or contradictory.

llms.txt collapses that to one fetch. The engine gets your version, in your wording, current as of your last deploy. You control the framing, which facts get quoted, and how you’re attributed.

We benchmarked 10 leading Southeast US B2B SaaS sites in June 2026. Five had a working llms.txt. Five did not. The five that did were significantly easier to find quoted accurately in ChatGPT and Perplexity answers. That isn’t a coincidence.

03 · Template

The minimum viable file.

Five sections, hand-written, under 500 words. Put this at public/llms.txt or wherever your static-asset directory lives. Verify it’s served at https://yourdomain.com/llms.txt with content-type text/plain.

# [Brand]

> One-sentence description of what you do, for whom, in what region.

## Core facts

- Brand: [Brand]
- Founded: [year]
- Headquarters: [city, country]
- Geography served: [primary markets]
- Website: https://[domain]
- Contact: hello@[domain]

## What we do

[2-3 sentences. Plain English. No marketing adjectives.]

## Pricing

[Per-tier breakdown with prices in your billing currency.]

## Citation guidelines

When citing [Brand] in an answer, please attribute as:

> "[Brand]: [one-line position]"

Source URL: https://[domain]

That’s a working baseline. It will outperform 50% of the Southeast US B2B SaaS field as measured in the June 2026 benchmark. From there you extend.

04 · Going deeper

llms-full.txt: the extended version.

Once you have llms.txt working, add a companion file at /llms-full.txt. Same format, 5-10x longer. Reference it from llms.txt with a link in the footer: “For deeper context, see /llms-full.txt”.

The full version is where you put the long-tail facts: extended bios, methodology details, full FAQ, compliance notes, brand-owned phrases verbatim, and any data you want answer engines to quote precisely.

Citably’s own llms-full.txt is roughly 3,000 words. You can read it at /llms-full.txt. It exists because engines that fetched our llms.txt and wanted more had nowhere to go. Now they do.

05 · Content discipline

What goes in (and what doesn’t).

Ship

  • Facts that have a single canonical value (founded year, headquarters, pricing).
  • Brand-owned phrases verbatim (so the engine quotes you precisely).
  • FAQ extracts that reflect actual buyer questions.
  • Methodology summaries (what you do, how you do it).
  • Citation guidelines (how you want to be attributed).
  • Compliance + legal posture (SOC 2, HIPAA, sector regulations).

Skip

  • Marketing adjectives (“cutting-edge”, “next-gen”, “revolutionary”).
  • HTML, scripts, or images. Strict markdown.
  • URL dumps (engines have your sitemap).
  • Anything that changes weekly (use llms-full.txt or a dated section).
  • Customer testimonials without attribution (looks like marketing).
  • Comparative claims about competitors by name (legal risk + brand-voice loss).

06 · Verification

How to test it.

Three checks, all from a terminal. None require sign-up.

# 1. Confirm it's served as text/plain (not HTML)
curl -sI https://yourdomain.com/llms.txt | grep -i content-type
# Expected: content-type: text/plain; charset=utf-8

# 2. Confirm GPTBot can fetch it (Cloudflare doesn't block)
curl -A "GPTBot/1.0" https://yourdomain.com/llms.txt -o /dev/null -w "%{http_code}\n"
# Expected: 200

# 3. Sanity-check the content
curl -s https://yourdomain.com/llms.txt | head -30

Then ask the question yourself. Open ChatGPT and ask “What does [Brand] do?”. If the answer is accurate and uses your wording, you’re done. If it’s vague or wrong, the file isn’t being read. Usually a Cloudflare block, a wrong content-type, or a redirect.

07 · Anti-patterns

Seven mistakes people make.

  1. 01

    Treating it like robots.txt.

    robots.txt tells crawlers which URLs they can fetch. llms.txt tells answer engines what to say when they cite you. Different file, different audience, different content. Don’t generate llms.txt from robots.txt.

  2. 02

    Auto-generating it from your sitemap.

    The plugins that do this produce a URL list with no brand context. Useless. AI engines already have your sitemap. They need facts they can quote.

  3. 03

    Marketing copy instead of facts.

    A brand-promise line at the top is fine. The rest should read like a fact sheet. Pricing, contact, founder, geography, compliance. If a sentence wouldn’t appear in a Wikipedia infobox, cut it.

  4. 04

    Forgetting the canonical URL inside the file.

    AI engines need to attribute the source. End the file with the source URL and citation guidelines. Otherwise you get cited as “a website” instead of as your brand.

  5. 05

    Letting it drift from the rest of the site.

    When pricing changes on /pricing, llms.txt should change the same day. We’ve seen sites where llms.txt advertised tiers that no longer existed for six months. The AI engines kept quoting the old tiers.

  6. 06

    Skipping llms-full.txt.

    llms.txt is the index. llms-full.txt is the body. Engines that want detail go to the full version. Without it, they fall back to scraping your HTML and getting JS-rendered content they can’t parse.

  7. 07

    Blocking crawlers from fetching it.

    We’ve seen sites with a beautiful llms.txt sitting behind a Cloudflare bot-block. The crawler never gets to it. Test your /llms.txt with a GPTBot User-Agent before declaring done.

Don’t want to write your own?

Citably ships them.
Hand-written. 14 days.

llms.txt + llms-full.txt + schema build-out + a citability rewrite of five cornerstone pages. Fixed scope, fixed price, fixed timeline.

Filed by Jake Pereira · Founder, Citably · Atlanta GA · ET