llms.txt Generator — Manual

The complete feature reference for the llms.txt Generator: every form field, the live checker with every validator rule, the format reference, limits, and architecture.

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

This manual documents the llms.txt Generator in full: every input field of the generator, how your input becomes Markdown, what the live checker validates (with all its rules), the format reference, and the technical limits. The tool's interface is in English — so the tab and button names are given here in their original English spelling, which is exactly what you'll see in the live interface.

What an llms.txt is

The llms.txt is a proposed standard (by Jeremy Howard / fast.ai, documented at llmstxt.org): a Markdown file in your domain's root that gives AI language models curated, accurate context about your content. The tool frames three roles for it:

  • Discovery — AI assistants and crawlers check /llms.txt at the domain root when someone asks about your product; it's the entry point, much like a table of contents.
  • Context window — LLMs have limited context windows. A concise llms.txt helps them decide which pages to actually fetch, rather than downloading your entire site.
  • Trust signal — a well-maintained llms.txt shows you care about how AI represents your project, and highlights the canonical, accurate information.

The five tabs at a glance

The tool is organized into five tabs: Generator (form → Markdown), Check (live validator), Examples (four templates), Tips (best practices), and Reference (the format spec). Generator and Check are the two working tools; Examples, Tips, and Reference are reference content and work without any input.

The Generator tab

The generator is two-column: the form on the left (Configure your llms.txt), the output editor with the finished Markdown on the right. Every input updates the output live (with a brief delay of about a third of a second). The output editor is a read-only ACE editor with Markdown highlighting — so you always edit via the form, never the Markdown directly.

Name and tagline (the required fields)

  • Project / Site Name (required) — becomes the H1 heading: # Name. If left empty, the generator inserts the placeholder # My Project.
  • Tagline (required) — becomes the blockquote right after the title: > your tagline. The tool explicitly calls it "the most important field": a single, clear sentence stating exactly what your project does. AI systems often read the tagline first.

Intro paragraph (optional)

The Intro Paragraph field is output as a plain text paragraph after the tagline — no heading, no blockquote. Meant for one to three sentences of extra context (goal, purpose, audience). Left empty, the paragraph is omitted entirely.

The dynamic Sections & Links area is the core. Via Add Section you create as many sections as you like; each becomes an H2 heading (## Name). Within a section:

  • Links via Add Link: three fields per row — Link title, URL (https://…), and Description (optional). The output is - [Title](URL): Description. With no description the colon is dropped; if you enter a title without a URL, only the title appears; a row with neither title nor URL is skipped.
  • Subsections (H3) via Add Subsection (H3): a section can hold subgroups with their own heading (### Name) and their own link list. Subsections are output after the section's direct links. A subsection with neither a name nor any links is skipped.
  • Reorder by drag and drop: sections can be grabbed by the grip handle (the dot grid on the left) and dragged into a new order — handy for moving the most important section to the top.

Empty sections (no name, no links) don't appear in the output. Runs of blank lines are collapsed into one, trailing blank lines removed — the Markdown stays clean.

The llms-full.txt reference

The optional llms-full.txt URL field links to the combined full-content file (see below). Enter a URL here and the generator automatically appends a ## Optional section with the line - [llms-full.txt](URL): Complete documentation combined into a single file.

Output: Copy, Download, Reset

Three buttons sit above the editor:

  • Copy — copies the generated llms.txt to the clipboard.
  • Download — saves it as a file named llms.txt (plain text, UTF-8). If nothing is entered, the tool warns rather than producing an empty file.
  • Reset — restores the form to its default state (a single empty section named "Documentation") and clears the saved state.

Open File and automatic saving

With Open File you open an existing .txt file: the tool parses it and fills the form, so you can comfortably edit an existing llms.txt (round trip). Independently, the generator stores your work in progress locally in the browser (LocalStorage) — close the tab and come back, and your work is still there. Reset clears that store.

The Check tab: validate live

The Check tab fetches an existing llms.txt from any domain and checks it against the llmstxt.org specification. You enter either a domain (e.g. example.com/llms.txt is appended automatically) or a full URL. If the scheme is missing, the tool adds https://.

By default the fetch goes through the server-side proxy. Optionally there's an Expert Mode (toggle in the page header) that fetches the file via a self-run local proxy at http://127.0.0.1:<port> — advanced and not needed for normal use.

What the validator checks

Validation runs client-side in your browser and checks the structure and format against the specification — it does not fetch the linked pages and does not test whether the links are reachable. The result is organized into three levels:

  • Errors (red, blocking) — structural requirement violations:
    • empty file;
    • missing H1 heading (#), or a present but empty H1;
    • missing blockquote summary (>);
    • a link with an empty URL.
  • Warnings (yellow, should be fixed) — among others: multiple H1 headings; H1 not on the first line; blockquote not directly after the H1; HTML entities in the blockquote; an empty H2 heading; a link with an empty title; no H2 sections present; no links present; a very short file (under 100 bytes); a very large file (over ~50 KB).
  • Info (hints) — e.g. a link with no description ("consider adding one"); plus the success note "File structure looks valid" when there are neither errors nor warnings.

Every message cites the line number concerned. In short: the H1 title, the blockquote tagline, and non-empty link URLs are strictly required (errors), while sections, links, and descriptions are strongly recommended (warning/info).

Reading the check result

At the top is a status banner with a verdict band:

  • green "Structure looks valid." — 0 errors and 0 warnings;
  • yellow "N warning(s) found." — no errors, but warnings;
  • red "N error(s) found." — at least one error.

Below it a Summary table: title (H1), summary (>), number of sections (##), number of links, and file size. Then the Errors / Warnings / Info lists (shown only when non-empty) and a collapsible Raw content block with line numbers. From there you can Copy the raw content or Load into Generator to pull it straight into the form and fix it. If the domain returns HTTP 404 or another non-2xx status, the tool reports "No llms.txt found … (HTTP nnn)"; an empty response is likewise reported as a warning.

Format reference

The Reference tab holds the complete specification the generator produces and the checker validates. The elements:

Element Syntax Required Meaning
Title # Project Name Required H1 — name of the project/website
Tagline > Short summary Required Blockquote right after the title; one concise sentence; the most important field
Intro Plain paragraph Optional Extra context, 1–3 sentences
Section ## Section Name Optional H2 to group links; 2–5 sections
Subsection ### Subsection Name Optional H3 to subgroup within a section; after its own links
Link - [Title](URL) Optional List item with a Markdown link, inside a section
Link description - [Title](URL): Desc Optional Description after the colon; recommended for every link
llms-full.txt - [llms-full.txt](URL) Optional Reference to the combined full version; by convention in "Optional"

A complete example (full format) and a copyable template also live in the Reference tab.

llms-full.txt — the combined content file

llms-full.txt contains the merged text content of all pages linked in the llms.txt, in one large file. Useful for LLM clients that can process large context windows in a single request, want to avoid many individual HTTP requests, or need a cached/offline snapshot of your docs. For large docs sites, the tool recommends auto-generating llms-full.txt with a build script in your CI/CD pipeline.

Limits, architecture, and privacy

  • Generator: purely client-side. The file is assembled entirely in your browser; nothing is transmitted. Your work in progress lives in LocalStorage.
  • Check: server-side proxy. Your browser can't fetch a third-party llms.txt directly because of CORS. A server-side JPKCom proxy retrieves it via cURL and returns it; validation then runs locally in your browser again. The checked domain sees the request from the JPKCom server (with its User-Agent), not your IP address.
  • SSRF protection: the proxy blocks localhost, internal, private, and reserved IP addresses and re-validates every redirect hop; only HTTP and HTTPS are allowed. A local dev or intranet file can't be checked this way.
  • Fetch limits: body cap 1 MB, timeout 10 s, at most 5 redirect hops.
  • Rate limit (client-side): at least ~3 seconds between two checks (bypassed in Expert Mode). Fire faster and the tool asks you to wait a moment.
  • No public API: the two server-side endpoints (a fetch proxy and a token-based authentication endpoint) are used exclusively by the tool's own JavaScript and hardened against abuse — they're not meant to be called from the outside.

For the starting point and the big picture, see the overview page; for concrete walkthroughs the examples; and for strategy the tips & tricks. You can try all of it directly in the tool.