How to Create an llms.txt File, Free Generator for Any Site
Create a valid llms.txt file in seconds. Add your sections by hand or import them from your sitemap, watch the markdown build live, then copy it or download it and implement it at your domain root.
Reads /sitemap.xml and groups up to 50 URLs by folder. If the site has no readable sitemap, add your links by hand below.
Rendered as the blockquote line. One sentence, no marketing language.
The llmstxt.org convention for lower-priority links. Always rendered last.
# Elshorafa Co > Research-first marketing and strategy consultancy for the GCC, covering paid media, SEO and GEO, and conversion optimisation. Elshorafa Co works with e-commerce, service, and SaaS businesses across the UAE and Saudi Arabia. The pages below are the primary sources for what we do, how we work, and the free tools we publish. ## Main Pages - [Home](https://elshorafa.co): What the consultancy does and who it serves - [Services](https://elshorafa.co/#services): Paid media, SEO and GEO, research, and CRO - [Blog](https://elshorafa.co/blog): Articles on GCC marketing strategy and measurement ## Free Tools - [Free Tools Hub](https://elshorafa.co/tools): Every calculator and generator in one place - [ROAS Calculator](https://elshorafa.co/tools/roas-calculator): Return on ad spend and break-even ROAS - [Schema Markup Generator](https://elshorafa.co/tools/schema-markup-generator): JSON-LD structured data for six schema types ## Optional - [UTM Builder](https://elshorafa.co/tools/utm-builder): Campaign tagging, secondary reference
Upload the file so it resolves at https://yoursite.com/llms.txt and serve it as plain text. Check the finished file against the specification at llmstxt.org.
How Do I Create an llms.txt File?
Write four things and save them as plain markdown: your site name as an H1, a one-sentence summary as a blockquote, H2 headings that group your important pages, and one link line per page with a short note on what it covers. Then upload it to your domain root. The generator above does the formatting so the file comes out valid the first time, and the rest of this page covers what to put in it and how to implement it.
llms.txt is a plain markdown file you publish at the root of your domain that tells AI systems what your site is about and which pages actually matter. It is short by design: a site name, a one-line summary, an optional paragraph of context, and a handful of curated link lists with a note on each link. The convention was proposed by Jeremy Howard of Answer.AI in September 2024 and the specification lives at llmstxt.org.
The problem it addresses is real. A language model working from a live page has to parse navigation, cookie banners, scripts, and boilerplate before it reaches anything useful, and context windows are finite. A curated markdown index removes that guesswork and puts your own description of your business in front of the model instead of an inferred one.
What Goes Inside an llms.txt File?
The format is markdown with a fixed order. Only the H1 is required, but a file with a summary and notes on each link is far more useful than a bare list of URLs. This is the structure the generator above produces.
# Site Name > One line summary of what the site is. An optional paragraph with any extra context a reader needs. ## Section Name - [Page title](https://example.com/page): a short note on what it covers - [Another page](https://example.com/other): a short note on what it covers ## Optional - [Lower priority page](https://example.com/extra): can be skipped for shorter context
- H1 site nameOne line, the name of the site or product. This is the only required element in the specification.
- Blockquote summaryA single sentence describing what the site is. Write it plainly, because it is the line most likely to be quoted back.
- DescriptionOptional prose after the summary. Two or three sentences of context, no headings, no bullet lists.
- H2 link sectionsGrouped markdown link lists such as Docs, Services, or Products. Each link takes a title, a URL, and an optional note after a colon.
- Optional sectionA section headed Optional, always last. Its links can be skipped when a shorter context is needed, which makes it the right place for secondary references.
How Do I Implement llms.txt on My Site?
Put it at the root of your domain, so it resolves at yoursite.com/llms.txt. That is the same convention robots.txt uses, and it is the only location AI tools will look for. How you get it there depends on your platform.
- Next.js and most React frameworks: drop it in the public folder as public/llms.txt.
- WordPress: upload it to the web root over FTP or your host's file manager.
- Shopify: root files are restricted, so use a redirect or an app that serves root-level files.
- Static hosts such as Netlify and Vercel: place it in the published output directory.
Two checks before you move on. Load the URL in a browser and confirm it returns plain text with a 200 status rather than an HTML error page. Then remember that subdomains are separate origins, so a docs subdomain needs its own file.
What Is the Difference Between llms.txt and llms-full.txt?
One is the index, the other is the library. llms.txt is a short file of curated links with one-line notes, sized to fit comfortably inside a model's context window. llms-full.txt is a companion convention that concatenates the full markdown text of those pages into a single file, so a model can read the content without following any links.
The index
Ten to thirty links with a note each. Small enough to read in full, cheap enough to keep accurate, and the file every site should publish first.
The content
The body text of those pages in one document. It grows with the site, and every edit to a source page makes it stale until you regenerate it.
Publish llms.txt first. It is far smaller and much easier to keep accurate, and neither file is an official standard, so the maintenance cost of the larger one is real while the payoff is still unproven. Add llms-full.txt only if your content is reference material, documentation and specifications rather than marketing pages, and only if you can regenerate it automatically when the source changes. A hand-maintained llms-full.txt goes out of date within weeks.
How Do I Write an llms.txt for an Ecommerce Site?
By leaving the catalog out of it. llms.txt is a curated index, not a product feed. A file holding four thousand product URLs defeats its own purpose, because the format exists to fit inside a context window and a model gains nothing from a wall of SKUs. List the pages that answer questions, not the pages that hold inventory.
- CollectionsCategory and collection pages, not individual products. One line per collection with a note on what it contains does more work than a thousand product links.
- PoliciesShipping, returns, warranty, and sizing. These are the pages buyers ask assistants about, and the answers are usually wrong when the assistant has to guess.
- BrandAbout, contact, and store locations. This is what lets a model state who you are rather than infer it from a product title.
- GuidesBuying guides, comparisons, and care instructions. Reference content is the part of an ecommerce site an assistant is most likely to quote.
- OptionalPress coverage, secondary categories, and archive content. Last in the file, and safe to skip when a shorter context is needed.
Product-level detail belongs where the engines already read it: Product structured data on each product page, and your merchant feed. Duplicating that into llms.txt adds maintenance without adding a signal.
One platform note. Shopify restricts root-level files, so serving the file at yoursite.com/llms.txt needs a redirect or an app that can serve root files. Building the file is the easy half on that platform.
Does an llms.txt File Actually Do Anything?
Not directly. llms.txt is not a ranking factor, it will not move your position in Google Search, and Google has stated publicly that it does not use the file. Anyone selling llms.txt as an SEO service is selling you something the evidence does not support yet.
What is true is narrower. Adoption sits mainly with developer documentation platforms and software companies, several AI coding and research tools will read the file when a user points them at a domain, and the cost of publishing one is roughly twenty minutes. That asymmetry is the argument: low cost, small but non-zero upside, no downside beyond the maintenance.
The second-order benefit is the one most teams underrate. Writing the file forces a decision about which ten or fifteen pages actually represent the business. That clarity tends to improve the site itself. If you want visibility in AI answers today, the levers that work are clean structured data, factual on-page content, and third-party citations. Our SEO and GEO service covers those in order of impact, and llms.txt is a footnote inside it, not the headline.
Do I Still Need robots.txt and sitemap.xml?
Yes, and they come first. They are three different files for three different readers. llms.txt does not replace either of the other two, and it is the least important of the three if you have to choose. For the access side of that, our AI crawler access checker compares llms.txt against robots.txt in detail and shows which agents your file currently lets in.
Search and AI crawlers
Grants or blocks crawler access to paths. An access control file, not a content file.
Search engines
Lists every indexable URL with metadata such as last modified date. Machine-generated and exhaustive.
Language models and AI tools
Curates a small set of pages with human-written notes explaining what each one covers. Hand-edited and selective.
How Do I Validate an llms.txt File?
There is no official llms.txt validator, so the check is manual. The generator above produces the correct structure by default, and this is what to confirm before you publish.
- 01One H1 line at the top, holding the site name and nothing else.
- 02A blockquote summary directly under it, one sentence, written plainly.
- 03Every section heading at H2 level, with a blank line before and after it.
- 04Every link on its own line as a hyphen, a bracketed title, a URL in parentheses, then an optional colon and note.
- 05Absolute URLs throughout, and every one of them returning a 200 status.
- 06Any Optional section placed last, holding only links a reader can safely skip.
- 07The published file loading as plain text at yoursite.com/llms.txt.
Frequently Asked Questions
What is llms.txt?
llms.txt is a plain markdown file placed at the root of a website that tells AI systems what the site is about and which pages carry the information worth reading. It contains a site name, a one-line summary, an optional short description, and grouped lists of links with brief notes. The convention was proposed by Jeremy Howard of Answer.AI in September 2024 and is documented at llmstxt.org.
Where do I put the llms.txt file?
Place it at the root of your domain so it resolves at https://yoursite.com/llms.txt, the same location pattern as robots.txt. Serve it as plain text or markdown, and make sure it returns a 200 status code. Subdomains need their own file, because a file on the main domain does not cover them.
Does llms.txt actually do anything for SEO?
It is not a ranking factor and it will not change your position in Google Search. Google has stated publicly that it does not use llms.txt. The honest case for publishing one is that it costs very little, it forces you to decide which pages actually represent your business, and a small number of AI tools and documentation platforms already read it. Treat it as a low-cost bet on an emerging convention, not as an SEO tactic with measurable return.
Is llms.txt an official standard?
No. It is a community proposal with a published specification at llmstxt.org, not a standard ratified by a body such as the IETF or W3C, and no major AI provider has committed to reading it at crawl time. Adoption so far is concentrated in developer documentation platforms and software companies. Anyone telling you it is required is overselling it.
What is the difference between llms.txt and llms-full.txt?
llms.txt is an index: a short file of curated links with one-line notes, designed to fit comfortably inside a model's context window. llms-full.txt is a companion convention that concatenates the full markdown text of those pages into a single file, so a model can read the content without following any links. Most sites should publish llms.txt first, because it is far smaller and much easier to keep accurate.
Does llms.txt replace robots.txt or sitemap.xml?
No. robots.txt controls crawler access, sitemap.xml lists every indexable URL for search engines, and llms.txt curates a small set of pages with human-written context for language models. They serve different consumers and different purposes, so keep all three. If you are choosing where to spend effort, robots.txt and sitemap.xml come first.
How do I validate an llms.txt file?
There is no official llms.txt validator, so validation means checking the file against the specification by hand. Confirm it opens with a single H1 site name, that the summary is a markdown blockquote starting with a greater-than character, that every section heading is an H2, that every link uses the format of a hyphen, a bracketed title, a URL in parentheses, and an optional note after a colon, and that any Optional section comes last. Then load the URL in a browser to confirm it returns plain text and not an HTML error page.
llms.txt is the easy part of getting cited.
Structured data, factual on-page content, and third-party citations are what move visibility in AI answers. We build all three together, in order of impact.
