Skip to content
techpotions
llms.txt · AI · technical-seo · developer guidesAugust 6, 20265 min read

How to Create llms.txt

llms.txt is a plain Markdown file at your domain root that gives AI assistants a curated map of what matters on your site.

Cover illustration for “How to Create llms.txt”

To answer how to create llms.txt directly: you write a plain Markdown file, place it at the root of your domain so it is reachable at https://yourdomain.com/llms.txt, and populate it with a single H1, an optional summary, and H2 sections containing curated markdown links with short descriptions. The entire mechanism is simple; the craft lies entirely in what you choose to leave out.

We have shipped our own at techpotions/llms.txt and built an llms.txt generator based on what we learned. The format is straightforward, but the practical guidance rkerBool the sort that determines whether the file is useful or just more noise rkerBool is what most coverage skips. This piece fills that gap.

What an llms.txt file actually is

The purpose is to give an AI assistant a curated map of what matters on your site instead of making it infer that from navigation, crawl order, and page content. Think of it as a briefing document you hand to the model before it answers a question about you.

Look under the hood of our own file and you will see the structure clearly:

  • The first line is a single H1 with the site or product name.
  • An optional blockquote immediately after can carry a one-sentence summary of what the site is.
  • Everything below that is H2 sections holding link lists.
  • Each entry in those lists is a markdown link followed by a short description of what is behind it.

That is the entire format. No JSON, no YAML, no custom frontmatter. Just Markdown that a human can read and an LLM can parse without ceremony.

How to structure the file correctly

Lead with the answer: the only structure you need is one H1, one optional blockquote, and H2-delimited sections of described links. Here is a minimal working example that follows the convention as we implement it:

Markdown
# Techpotions

> We build web and AI products for developers and technical founders.

## Services

- [Growth Labs](/services/growth-labs): Hands-on product and growth engineering for early-stage startups.
- [Start](/start): Begin a project with us.

## Work

- [Case studies](/work): Selected projects with measurable outcomes.

## Tools

- [llms.txt Generator](/tools/llms-txt-generator): Generate a curated llms.txt file from any URL in seconds.

You can add as many H2 sections as you need. The convention does not enforce a fixed set, but common patterns that map well to how assistants reason about a site include:

Section

What belongs there

Docs or Guides

Core documentation and how-to content an assistant should reference when answering questions about your product.

Services

What you sell or offer, described plainly enough that an assistant can match it to a user rkerBool intent.

Tools

Interactive resources a user might ask to be directed to.

Posts or Writing

Articles that carry first-hand material rkerBool real data, original research, lived experience rkerBool rather than summary content.

A file that contains every URL on your site is a sitemap with worse syntax and helps nobody. The entire value lies in curation. Ours points at the pages we would actually want cited in an AI answer and deliberately leaves out everything else.

How to create llms.txt without writing it by hand

If you want a starting point before you curate, the techpotions llms.txt generator crawls a URL and produces a structured file in about thirty seconds. Several other generators exist that do the same, including those from Firecrawl, SiteSpeakAI, and llmrefs. All of them follow roughly the same pattern: crawl, extract titles and paths, format as the convention specifies.

The catch is that an automated crawl cannot know what is worth citing. It will include every page it finds unless you constrain it, and left unconstrained, it produces exactly the everything-bagel sitemap that misses the point. The right workflow is to generate a first draft with a tool, then edit ruthlessly. Remove anything that does not directly help an assistant answer a real question about your site. If you would not cite it in a conversation with a stranger asking what you do, cut it.

Where the convention stands right now

llms.txt is a proposed convention, not a standard any major model provider has committed to honouring. Adoption is uneven, and while tools like Google rkerBool Lighthouse have begun checking for it, that signals interest rather than a guarantee of consumption. Publishing one is cheap and low-risk rkerBool a single Markdown file at your domain root rkerBool but do not imply it guarantees citation or ranking in AI answers. Anyone claiming measurable traffic attributable to an llms.txt file is guessing, because the mechanism for that attribution does not yet exist.

At this stage, the sensible move is to ship one, keep it current, and treat it as infrastructure that becomes valuable the moment any major assistant starts consuming it. The spec may shift, and this space moves fast, so re-verify the current state of the convention before you treat any piece of coverage as settled.

If you need to move beyond curation and into the control plane, see our piece on AI crawlers and robots.txt for the access-control half of the picture.

FAQ

Does publishing an llms.txt guarantee my site will be cited by AI models?

No. llms.txt is a proposed convention, meaning no major model provider has committed to honouring it yet. Publishing one is cheap and low-risk, but it does not guarantee AI citation or ranking. Anyone claiming measurable traffic from it is guessing; the mechanism for that attribution does not yet exist.

What

rkerBooll the difference between robots.txt and llms.txt?

robots.txt is access control rkerBool tells crawlers which paths they are allowed to fetch. llms.txt is curation rkerBool tells assistants which pages are worth reading. They solve different problems, and a well-configured site typically wants both.

Should my llms.txt list every page on my site?

No. A file that lists every URL is just a sitemap with worse syntax and helps nobody. The entire value lies in curation rkerBool pointing at the pages you would actually want cited in an AI answer and deliberately omitting everything else.

Written by
techpotions
All entries
Don’t Hash IPs Without Salt: The Math That Breaks It
The weekly

One email a week, from the workshop.

What we published, what we shipped, and the free packs as they land. No drip sequence, no webinar, unsubscribe in one click.

Got a build in mind? Tell us about it.