Noma by Nurdd (NomaHQ)Noma
llms.txt

llms.txt Checker: How to Validate Your File and Test It

Use an llms.txt checker to test location, format, links and status codes, learn what a valid file still can't promise, and validate yours free.

Sheetal Shakshi9 min read
A white strip extends through glass panes set in a grooved stone base on a purple surface.

An llms.txt checker should confirm four things: the file loads at /llms.txt with a 200 status, it follows the llmstxt.org Markdown structure, every link inside it resolves, and no link contradicts your robots.txt. Passing those checks makes the file correct. It does not make AI engines cite you, and this guide shows where that line sits.

Key takeaways

  • Test location first: a 200 response at https://yourdomain.com/llms.txt, plain text or Markdown, with no login, redirect chain or CDN block in the way.
  • Only the H1 is required by the spec. A blockquote summary and H2 link lists are conventions a checker should flag, not fail.
  • Every link needs a 200 status, an absolute URL, and a page you are happy for crawlers to read. Broken and robots-blocked links are the most common real faults.
  • A valid file proves nothing about influence. Google says its Search systems do not use it, and the studies below find no measurable citation effect.
  • Validate, then verify behaviour: check crawler access and, where you have server logs, whether AI bots ever request the file.

Is there a free llms.txt validator?

Yes. Noma by Nurdd runs a free llms.txt generator and validator: build a file from your sitemap, edit it, then validate any file and its links. It is the quickest way to run the checks in this guide without writing a script. Open-source options also exist, such as the llmscheck project on GitHub, which scores a pasted file and flags links that fall under a robots.txt Disallow rule (as checked on 2026-11-06).

If you have not yet written a file, start with the llms.txt setup guide. This article assumes you have one, or are about to publish one, and want to know whether it is sound.

What does the llms.txt specification actually require?

A checker is only as good as the rules it enforces, so read the source. The llmstxt.org specification (as checked on 2026-11-06) says the file is named llms.txt and sits at the root path of a site, or at a subpath such as /docs/llms.txt. It lists the sections in a fixed order.

ElementRequired by the spec?What a checker should do
Optional byte-order markNoAccept it; warn only if the file is not UTF-8 text.
H1 with the site or project nameYes, the only required sectionFail if missing or if there is more than one.
Blockquote summaryNoWarn if missing; the spec says it carries the key information for reading the rest.
Free Markdown body (no headings)NoWarn if headings appear before the first H2 list.
H2 sections with link lists in the form [name](url), optional : notesNo, but each list item needs a Markdown hyperlinkFail on list items with no valid link.
An "Optional" H2 sectionNo, a convention for skippable linksAccept; do not treat as an error.

The practical point: the spec is permissive. A file with only an H1 is valid. Many checkers award points for a blockquote and sections, which is fair as advice, but a checker that calls a minimal file "invalid" is wrong about the spec.

How do I check if my llms.txt file is valid?

Work through four layers in order. A failure at a higher layer makes the lower ones meaningless.

1. Location and access

  • URL: the file must answer at the exact root path, https://yourdomain.com/llms.txt, on the host you want described. A file on www does not cover the bare domain unless one redirects to the other.
  • Status code: a single 200. A 301 to the canonical host is tolerable; a chain of redirects, a 403 from your CDN or a 404 from a framework route is not.
  • Content type: plain text or Markdown renders cleanly. If your server returns HTML, the file may be wrapped in a page template. The spec does not set a content type, so treat this as a hygiene warning.
  • No gate: no login, cookie wall or bot challenge. A bot challenge that blocks AI crawlers will block the file too.

2. Format

  • One H1, first in the file.
  • A blockquote summary of one to three sentences, written as plain facts.
  • H2 sections, each containing a Markdown list of - [Title](https://absolute-url): note items.
  • UTF-8 encoding and no stray HTML.

3. Links

This is where real files fail. For every URL in the file, a checker should record the final status code, any redirect target, and whether the page is indexable. The most common faults:

  • Links returning 404 after a site migration.
  • Links that redirect to a different URL, so the file lists a stale address.
  • Relative links such as /pricing that some parsers cannot resolve.
  • Links to pages carrying noindex or sitting behind a login.

4. Consistency with robots.txt

If you list a page in llms.txt but disallow it in robots.txt, you have sent two opposing instructions. Compare each listed path against your Disallow rules. Run the free AI crawler checker alongside it: it shows whether GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot and Google AI can reach your site, and generates a corrected robots.txt if they cannot.

A five-minute manual test with free tools

You do not need a vendor to run the basics. Use a terminal and your browser.

  1. Run curl -I https://yourdomain.com/llms.txt. Confirm 200 and read the content-type header.
  2. Run curl -sIL https://yourdomain.com/llms.txt to follow redirects and count the hops. More than one is worth fixing.
  3. Run the same request with an AI crawler user agent, for example curl -I -A "GPTBot" https://yourdomain.com/llms.txt. If this returns 403 while the plain request returns 200, your firewall or CDN is blocking the bot.
  4. Open the file and check the first line starts with # followed by a space and a name.
  5. Extract every URL and request each one. A short shell loop with curl -s -o /dev/null -w "%{http_code} %{url_effective}\n" -L prints a status and final URL per link.
  6. Open robots.txt and confirm none of those paths are disallowed for the bots you care about.

The Noma llms.txt validator does steps 4 to 6 for you and checks the links in the file, which is faster than a loop when the file lists dozens of pages.

What should a good llms.txt checker report?

Use this table to judge any checker, including ours, before you trust a score.

CheckSeverityWhy it matters
File reachable at /llms.txt with 200FailNothing else counts if the file cannot be fetched.
Single H1 presentFailThe only element the spec requires.
List items are valid Markdown linksFailThe spec requires a hyperlink in each file-list entry.
All links return 200 after redirectsFail for 4xx and 5xx, warn for redirectsA reader or agent following the file hits dead ends.
Links not blocked by robots.txtWarnContradictory signals about what may be read.
Blockquote summary presentWarnGives agents a one-line description of the site.
Absolute URLsWarnAvoids resolution errors in simple parsers.
File size reasonableInfoA huge index defeats the point of curation; move detail to a longer companion file.
Last reviewed date or recent changeInfoStale lists send readers to retired pages.

Treat any "score out of 100" as a hygiene measure. The builder of the llmscheck tool says as much on its own page: it sells accuracy, not AI visibility (as checked on 2026-11-06).

What can a valid llms.txt file still not guarantee?

It cannot guarantee that any AI system reads it, uses it or cites you because of it. The evidence so far points the other way.

Google's documentation is explicit. As Search Engine Land reported in June 2026, Google's guide to AI search says you do not need new machine-readable or Markdown files to appear in Google Search, "as Google Search itself doesn’t use them." The same note says creating llms.txt for other services will neither help nor harm your Google rankings.

Earlier, Google's John Mueller put it more bluntly. In Search Engine Roundtable, June 2025, he wrote: "FWIW no AI system currently uses llms.txt." That was one person's statement at one date, so treat it as context, not proof about every engine today.

Measured data agrees with the caution:

  • SE Ranking analysed almost 300,000 domains and found 10.13% had an llms.txt file, and that the file did not affect how AI systems cited content (SE Ranking, 2026).
  • A roundup of four studies by Optimizely, October 2026, reports that of more than 500 million AI bot visits Limy monitored over 90 days, only 408 requested llms.txt directly.
  • The same Optimizely roundup notes that among the 50 most AI-cited domains in one dataset, only one had the file.

A passing llms.txt check means the file is well formed and its links work. It is not evidence that ChatGPT, Gemini, Perplexity or Claude have read it.

None of this makes the file harmful. A tidy, accurate llms.txt is cheap to maintain and gives agents and people a curated map of your site. Just keep the expectation honest, and do not report a passing validation as an AI visibility win.

How to test whether anything actually uses your file

Validation tests the file. These tests check behaviour, and they are the part most checkers skip.

Check your server logs

Search your access logs for requests to /llms.txt and note the user agent and date. If you only see your own checks and generic scanners, the file is not being fetched by AI bots. Noma's agent analytics reads server logs and names the agent behind each request, and the explainer What is agent analytics? covers which bots to track.

Run a before and after prompt test

  1. Choose 20 buyer questions about your category, unbranded, as in which prompts to track.
  2. Run each on ChatGPT, Gemini, Perplexity and Claude several times and record whether your brand is named and which URLs are cited.
  3. Publish or fix the file, wait, and repeat the same set.
  4. Call a change real only if it exceeds the run-to-run noise. Citations shift between runs, as the AI citation stability data shows.

Changing several things at once, such as the file, new pages and a robots.txt edit, makes the result unreadable. Change one thing and record the date.

Where Noma fits

Noma by Nurdd is an AEO and AI visibility platform. A validator tells you the file is well formed; Noma measures what follows. It asks 13 AI engines, including ChatGPT, Gemini, Perplexity and Claude, your buyers' questions every day, shows where your brand is named and which pages the answers cite, and reports which AI crawlers fetch each page. That lets you see whether any change you make, llms.txt included, moved anything.

See it on your own brand: book a demo or start the 3-day free trial. A card is taken at signup so billing can start on day 3; cancel before then and nothing is charged.

Common llms.txt mistakes a checker catches

  • Listing every URL. The file is a curated index, not a sitemap. Use the XML sitemap for completeness.
  • Promotional copy in the summary. State what the site is and who it serves, in plain facts.
  • Linking to blocked or gated pages. Pricing behind a form and docs behind a login cannot be read.
  • Forgetting after a redesign. Slugs change, the file does not. Re-validate after every migration.
  • Fixing the file while the crawl is blocked. If a firewall rejects AI bots, no file helps. Run the AI crawler checker first, and see how to diagnose a blocked ChatGPT agent.

Put the effort where evidence is stronger: answer-first pages, schema that matches visible content (what to add and test) and clear crawler access.

How we researched this

We reviewed the llmstxt.org specification, Google's published guidance as reported by Search Engine Land, a Search Engine Roundtable report of a Google statement, SE Ranking's domain study, an Optimizely roundup of log studies and an open-source validator's own documentation. Facts and figures were checked on 2026-11-06. We did not run our own llms.txt experiment, so the citation findings are other organisations' results and their limits apply.

Next step

Validate your file now with the free llms.txt tool, fix any 4xx links and robots.txt conflicts, then measure whether AI engines name you. To track that daily across engines, book a demo or start the free trial.

See what AI engines say about your brand

Free · no account · or start a 3-day trial

Questions people ask

How do I check if my llms.txt file is valid?

Confirm it returns a 200 at /llms.txt on your root domain, starts with a single H1, and lists links in Markdown form. Then request every linked URL and check for 404s, redirects and robots.txt conflicts. A free tool such as Noma's llms.txt validator runs these checks together.

Is there a free llms.txt validator?

Yes. Noma by Nurdd offers a free llms.txt generator and validator at nomahq.app/tools/llms-txt that checks a file and its links. Open-source options such as llmscheck on GitHub also exist. You can run the basics with curl too.

What is required in an llms.txt file?

Per the llmstxt.org specification, only an H1 with the site or project name is required. A blockquote summary, descriptive text and H2 link lists are optional but conventional. Each list entry needs a Markdown hyperlink.

Does Google use llms.txt?

No. Google's guidance, reported by Search Engine Land in June 2026, says Google Search does not use llms.txt and that having one neither helps nor harms rankings. It is fine to keep one for other services that read it.

Will a valid llms.txt get me cited by ChatGPT or Perplexity?

There is no evidence it will. SE Ranking's study of almost 300,000 domains found no effect on citations, and Limy's log data, reported by Optimizely, found only 408 direct requests among more than 500 million AI bot visits. Test your own results with a fixed prompt set.

Why does my llms.txt return a 403 or 404?

A 404 usually means the file is not at the root path or a framework route is missing. A 403 often comes from a firewall, CDN or bot rule. Compare a plain curl request with one using an AI crawler user agent to find the cause.

← Back to the blog