Skip to content
Pickode
IT – Italiano
Pickode

Blog

What Is llms.txt? How to Create One (+ Examples)

llms.txt is a proposed Markdown file that summarizes your site for AI models. See the format, a real-world style example and how to create one step by step.

By Pickode8 min read

llms.txt is a plain Markdown file, published at the root of a website (for example https://example.com/llms.txt), that gives large language models a short, curated summary of the site and links to its most useful pages. It was proposed in 2024 as a lightweight way to help AI tools find the right content without parsing navigation menus, cookie banners and scripts. It’s a proposal, not an official web standard, so treat it as a cheap, low-risk addition rather than a ranking switch.

This guide covers what the file contains, who actually reads it, a complete example for a small business site, how to write one by hand, and how it differs from robots.txt and sitemap.xml.

What llms.txt is, in short

A normal web page is built for people and browsers: header, menus, sliders, footers, consent pop-ups, analytics scripts. A language model that fetches the page has to dig the useful text out of all that, often with a limited context window. The llms.txt proposal suggests giving models a shortcut: one small file, written in Markdown, that says “this is who we are, and these are the pages worth reading”.

The idea comes from the same family as other root files you already know. robots.txt tells crawlers where they may go, sitemap.xml lists every URL you want indexed, and llms.txt offers a hand-picked reading list with context. The original proposal also suggests offering Markdown versions of important pages, and some sites publish a longer companion file, often called llms-full.txt, with the full text of their docs in one place.

Who reads llms.txt today

This is where honesty matters. As far as is publicly documented at the time of writing, the major AI search products haven’t committed to reading llms.txt when they decide what to show or cite. Some AI tools and agents do fetch it when a user points them at a site, and many developer documentation sites publish one so coding assistants can load the right pages quickly.

So the realistic picture is:

  • It can help AI tools and agents that look for it, especially on docs, product and service sites.
  • It costs little: a small text file you can write in half an hour.
  • It guarantees nothing: being cited by ChatGPT, Claude, Perplexity or Gemini depends on many other factors, starting with whether their crawlers can reach and read your pages at all.

The llms.txt format: required and optional sections

The proposal describes a small, ordered structure in Markdown:

  1. An H1 with the name of the site or project. This is the only required element.
  2. A blockquote with a short summary: one or two sentences that explain what the site is and who it’s for.
  3. Optional paragraphs or lists with extra context, such as how to interpret the rest of the file. No headings in this part.
  4. H2 sections with lists of links. Each item is a Markdown link, optionally followed by a colon and a short note about what the page contains.
  5. An optional section called “Optional”, for links a model can skip when it needs a shorter context.

Because it’s Markdown, the file is readable by people too. That’s a good test: if a new colleague could understand your business from the file alone, a model probably can as well.

An llms.txt example for a small business site

Here’s a complete example for a fictional architecture studio. Replace the names, the summary and the URLs with your own.

# Studio Verdi Architects

> Studio Verdi is a small architecture practice in Bologna, Italy, that designs new homes and renovates historic buildings. This file lists the pages that best explain our services, our projects and how to contact us.

We work in Italian and English. Fees depend on the project: the services pages explain how quotes work.

## Services

- [Residential design](https://example.com/services/residential): new homes and extensions, from concept to building permits
- [Renovations](https://example.com/services/renovation): historic buildings, layouts and energy upgrades

## Projects

- [Portfolio](https://example.com/projects): selected projects with photos and short case studies

## Company

- [About the studio](https://example.com/about): team, qualifications and history
- [Contact](https://example.com/contact): address, opening hours, email and phone

## Optional

- [Blog](https://example.com/blog): articles on renovation permits and materials

A few details make the difference:

  • Write the summary for someone who has never heard of you. Say what you do, where, and for whom.
  • Link to canonical, public URLs that return real content without login or JavaScript tricks.
  • Use the notes after each link. “Contact: address, opening hours, email and phone” tells a model exactly when that page is relevant.
  • Keep it short. A small site needs ten to twenty links, not the whole sitemap.

How to create llms.txt step by step

  1. List your key pages. Start from your main menu and footer: services or products, pricing, about, contact, the most useful guides. Skip tag archives, thank-you pages and anything behind a login.

  2. Write the H1 and the summary. Use the official name of the site, then a one or two sentence blockquote that a stranger would understand.

  3. Group the links under H2 headings. Use the same groups you’d use to explain the site out loud: Services, Projects, Docs, Company. Add a short note after each link.

  4. Move secondary pages to “Optional”. Blog archives, press pages and old announcements go there.

  5. Save the file as llms.txt in UTF-8 and upload it to the root of the domain, so it answers at https://yourdomain.com/llms.txt. On WordPress you can upload it by FTP or with your host’s file manager into the WordPress root folder (usually the one that contains wp-config.php); some SEO plugins can also create it.

  6. Check it in the browser. Open the URL: you should see plain text, not your 404 page or a redirect to the home page.

  7. Keep it in sync. When you add or remove a service or a key page, update the file.

The manual method works well, but it has drawbacks. You have to collect the URLs by hand, it’s easy to forget pages or link to redirected ones, and nothing tells you whether AI crawlers can actually reach the pages you’re pointing to. That last point matters more than the file itself: a perfect llms.txt doesn’t help if robots.txt blocks the crawler or the content only appears after JavaScript runs.

llms.txt vs robots.txt vs sitemap.xml

The three files live side by side at the root of a site and do different jobs:

File What it does Format Status
robots.txt Tells crawlers which paths they may or may not crawl Plain text rules per user agent Standardized as the Robots Exclusion Protocol (RFC 9309)
sitemap.xml Lists the URLs you want discovered, with optional dates XML Widely supported by search engines
llms.txt Summarizes the site and points models to the best pages Markdown Proposal, support varies

The key difference: robots.txt is about permission, llms.txt is about guidance. If you want to decide which AI crawlers may visit your site, that happens in robots.txt, with one group of rules per user agent. AI companies document the names of their crawlers, and many separate crawlers used for training from those used for search. For example, OpenAI documents GPTBot for training and OAI-SearchBot for search:

User-agent: GPTBot
Disallow: /

User-agent: OAI-SearchBot
Allow: /

Sitemap: https://example.com/sitemap.xml

Crawler names and their purpose change over time, so check each provider’s documentation before you copy rules. And remember that robots.txt is a request that well-behaved crawlers follow, not access control.

Check any site’s llms.txt and AI crawler rules with Pickode

If you’d rather not assemble everything by hand, Pickode’s GEO panel does the checking and drafting from inside your browser. Pickode is a browser extension: you open the page, and in its Analyze section you open GEO · AI search.

What you get:

  • A 0–100 readiness score for ChatGPT, Claude, Perplexity, Gemini and Copilot, across 11 weighted categories. llms.txt is one of them (8%); AI crawler access (16%), content without JavaScript, structured data and citability weigh more. Every failed check comes with its fix.
  • What crawlers really get: Pickode reads the initial HTML without JavaScript or cookies, plus robots.txt (RFC 9309), llms.txt and llms-full.txt if present, the sitemap, X-Robots-Tag and the Markdown version of the page.
  • 16 AI crawlers grouped as training, search and user requests. Blocking training crawlers doesn’t lower the score, so you can opt out of training and still welcome search.
  • A robots.txt generator that works from a preset or crawler by crawler and keeps your existing rules.
  • A draft llms.txt built from the site’s menu, sitemap and footer, ready for you to review, edit and upload to the root of the site.

The score, the checks, the fixes and both generators are free. With Pro you can analyze up to 10 URLs at once and export a CSV, and the GEO results also appear in the client report. For network requests, Pickode only contacts the site you’re analyzing, to read files such as robots.txt, llms.txt and the sitemap; nothing goes to a Pickode server. The GEO docs walk through each check.

Limits to keep in mind

  • The draft llms.txt is a draft. Read it, fix the summary in your own words and remove pages that don’t belong.
  • Pickode doesn’t generate llms-full.txt; it only reads it if the site already has one.
  • Sites with anti-bot protection may answer Pickode differently than they answer real AI crawlers.
  • Pickode doesn’t work on chrome:// pages, the Chrome Web Store or PDFs.
  • No tool can guarantee that an AI will cite you: Pickode removes the technical obstacles.

FAQ

Is llms.txt an official standard?

No. It’s a proposal published in 2024 and adopted voluntarily by a number of sites, especially developer documentation. AI providers aren’t required to read it, and the format could still evolve.

Will llms.txt get my site cited by ChatGPT or Perplexity?

Nothing guarantees that. An llms.txt file can make your best pages easier to find for tools that read it, but citations depend on whether crawlers can reach your pages, whether the content is readable without JavaScript and how useful and trustworthy the text is.

Where do I put the llms.txt file?

At the root of the domain, so it answers at https://yourdomain.com/llms.txt, next to robots.txt. A file inside a subfolder won’t be found by tools that look for the standard location.

Does llms.txt replace robots.txt?

No. robots.txt controls which crawlers may visit which paths; llms.txt only describes the site and suggests pages to read. If a crawler is blocked in robots.txt, llms.txt doesn’t change that.

If you want to see how a page looks to AI crawlers and get a first llms.txt draft in a minute, install Pickode and open the GEO panel on your own site: the checks and the generators are free.

Stop rebuilding. Start picking.

Install Pickode, open any site and press Alt+I.

Free · 7-day Pro trial · No account needed