llms.txt Generator — Examples

Hands-on walkthroughs with the llms.txt Generator: build an llms.txt, adapt a template, check and fix it live, test the links, serve it for a subpath.

Back to the overview: llms.txt Generator · Open the tool: www.jpkc.com/tools/llms/

The manual explains every field, every tab, and every validator rule in detail. This page complements it with concrete workflows: typical tasks played out step by step. The tool's interface is in English, so tab and button names appear here exactly as you'll see them in the live tool.

Example 1: Build an llms.txt for a company site from scratch

You want to give your company website an llms.txt so AI systems capture your product, help, and contact pages cleanly.

  1. Open the generator. You land in the Generator tab.
  2. Put the company or product name into Project / Site Name — it becomes the H1: # My Company. This is the only required field.
  3. Write one or two precise sentences in Summary stating what you do: "Accounting software for small trade businesses." In the output it appears as a blockquote > … right under the title. The field isn't required, but it's recommended — this is where agents start reading.
  4. Optionally add a sentence or two in the Details field (audience, what sets you apart). Headings don't belong here.
  5. Build the sections: a fresh form already contains a section named "Documentation" — rename it to "Product" and add the key pages via Add Link, each with a Name, a URL, and a short note in Notes. For example Features, Pricing, Changelog. Use Add Section for more sections, such as "Help" (Getting started, FAQ) and "About" (Team, Contact).
  6. Watch the Markdown grow in the output editor on the right and keep an eye on the check results below it: if the summary is missing or a link has no URL, it shows up there immediately. When everything is right, click Download — you get the finished llms.txt file.
  7. Upload it to your web root so it's publicly reachable (without a login) at https://yourcompany.com/llms.txt. How to serve it with the right content type is shown in Example 8.

The result is a curated, valid file — not a sitemap dump, but exactly the pages you want an AI to know about you.

Example 2: Start faster with a template

Instead of starting from zero, grab a matching structure as scaffolding.

  1. Switch to the Examples tab. Four templates live there: Open-Source Library, SaaS Product, Blog / Personal Site, and Documentation Site.
  2. Pick the one closest to your project — for a product website, say SaaS Product with its Product, Help Center, and Developers sections.
  3. Click Load into Generator. The tool asks whether to replace the current form — even a fresh one, because the pre-filled "Documentation" section alone already produces output. It then jumps to the Generator tab and fills the form with the example structure.
  4. Now replace the example data with yours: name, summary, real URLs, and notes. Delete what you don't need, add what's missing — move sections, subsections, and links with the arrow buttons, or drag sections by their grip handle with the mouse.
  5. Copy or Download, done.

The Documentation Site template is especially instructive: once loaded, it contains more than the preview in the Examples tab shows, namely the additional sections Reference and Guides, and Guides uses H3 subsections (Frontend, Backend). That shows you how links within a section can be subgrouped further — and, below the output, the note that H3 subheadings aren't part of the spec (the reference parser turns each into a section of its own).

Example 3: Validate an existing llms.txt

You've published (or someone else has) an llms.txt and want to know whether it matches the specification.

  1. Go to the Check tab.
  2. Type the domain into the field — example.com is enough, the tool appends /llms.txt itself. If the file lives under a subpath, enter the directory with a trailing slash (example.com/docs/); otherwise a full URL.
  3. Click Check. The server-side proxy fetches the file, your browser validates it.
  4. Read the coloured status banner first. It shows the HTTP status and content type; green ("No errors or warnings.") means no errors and no warnings. Yellow gives the number of warnings, red the number of errors.
  5. Look at the Summary table: detected title, summary, number of sections and links (including how many have notes), file size, and whether the Python reference parser can read the file. "— missing —" next to the title means the H1 is missing; "— none —" next to the summary is only a warning.
  6. Work through the Errors and Warnings lists — messages of the same kind are bundled into one line with the affected line numbers (the first five, then "and N more"). What each message means is in the manual under "What the validator checks".

A common find at the very top of the error list: "The server answered with an HTML page". Then the address doesn't return a text file but an error or start page — most of the time there simply is no llms.txt there. Whether the linked pages are reachable is something you test afterwards with the link check from Example 7.

Example 4: Fix a third-party file — Check, Load, Fix

The elegant workflow when a check shows problems: keep working right in the tool.

  1. Check the file as in Example 3 in the Check tab.
  2. Expand the Raw content block to see the original content with line numbers.
  3. Click Load into Generator. The tool parses the fetched file without losing any content and fills the form with it — you're now in the generator. If it had to rearrange anything, a notice above the form lists the adjustments with their line numbers (the first five per message, then "and N more"): for example text under an H2 that is kept as section text, * lists that become -, or notes that now start with :.
  4. Fix the reported items: if the summary was missing, enter it in the Summary field. If everything was crammed into one section, break it up into thematic blocks via Add Section. If links had no notes, fill in the Notes fields. Replace relative URLs with absolute ones.
  5. Look at the check results below the output — they tell you before uploading whether any errors or warnings remain. Then Download and replace the old file in your web root.
  6. To verify, check the domain once more in the Check tab — the banner should now be green.

That turns "third-party file with issues" into a clean, valid llms.txt in a few minutes.

Example 5: Maintain an editable file over time

Your site has grown, the llms.txt is out of date.

  1. In the Generator tab, click Open File and open the current llms.txt (or .md) from disk — or simply drop the file onto the form. The tool parses it and fills the form — title, summary, details, all sections, links, and subsections. Anything it had to adjust is listed in the notice above the form.
  2. Add new pages, remove retired ones, refresh the notes. (The generator remembers your state locally in the browser anyway, in case you close the tab in between.)
  3. Download the updated file and deploy it.

The Open File → edit → Download loop is the maintenance cycle: the llms.txt stays a living document, not a one-off artifact.

Example 6: Point to an llms-full.txt

You have (or generate) a combined full-content file and want to link to it correctly.

  1. In the generator, enter the address in the llms-full.txt URL field at the bottom, e.g. https://yourdomain.com/llms-full.txt.
  2. Optionally write your own note in the field below it, such as "Every manual page in one file". Left empty, the generator uses "The complete documentation in one file".
  3. The generator puts the line - [llms-full.txt](…): … into the ## Optional section — into an existing section of that name, otherwise into a new one at the end. llms-full.txt isn't something the spec prescribes but a widespread convention; the "Optional" section marks links an agent can skip when context is short.
  4. Download and upload.

What llms-full.txt is and when it's worth it is in the manual under "llms-full.txt".

Your site serves a Markdown version of every page (say guide.html and guide.html.md), and the llms.txt should send agents straight there.

  1. Enter the links in the generator as usual, with their HTML addresses — or load your existing file via Open File.
  2. At the bottom of the form, set Link targets to Markdown version, appended. In the output, https://yourdomain.com/guide.html becomes https://yourdomain.com/guide.html.md, and https://yourdomain.com/docs/ becomes https://yourdomain.com/docs/index.html.md. If your site serves guide.md rather than guide.html.md, choose Markdown version, replaced. PDFs and other files are left unchanged.
  3. Read the note below the output: the rewritten URLs must actually exist on your server. Download and upload.
  4. Switch to the Check tab and check the published file. Below the messages you'll find the Linked pages card; click Check all N links (with more than 20 links, the tool checks the first 20).
  5. Read the table: OK means reachable and not HTML, Broken link stands for status 400 or higher, and "HTML page — a markdown version (.md) is easier for agents" flags links that still lead to HTML pages. The summary line at the end tells you how many links are Markdown/text, HTML, or broken.

That way you verify in one pass that the Markdown twins really exist — and that the server isn't accidentally serving them as an HTML error page.

Example 8: Serve an llms.txt for a subpath

Your documentation lives under /docs/ and should get its own llms.txt that describes only that area.

  1. Build the file in the generator as in Example 1 and upload it to https://yourdomain.com/docs/llms.txt. Since v2, a file under a subpath covers everything below it; the most specific file applies.
  2. In the Serving & discovery card, enter /docs/ under Path. The tool marks invalid characters red.
  3. Pick your server: nginx gives you location blocks that serve the llms.txt as text/plain; charset=utf-8 and .md files as text/markdown; charset=utf-8, plus a Link header with rel="describedby" pointing to /docs/llms.txt. Apache gives you AddType, AddCharset, and the same header via mod_headers. If you can't set headers, choose HTML — then the <link> elements go into the <head> of your pages.
  4. Copy, add it to your server configuration, reload the server.
  5. Check the result in the Check tab with yourdomain.com/docs/ (with the trailing slash). The banner now shows the content type; warnings about the content type or a missing charset=utf-8 should be gone.

Keep in mind: for its GEO score, the SEO & GEO Analyzer only looks for /llms.txt in the root. A file that exists only under /docs/ doesn't count there.


Going deeper: the manual for every field and rule, the tips & tricks for strategy and pitfalls. You can try all of it directly in the tool.