InsightsAI visibility

llms.txt: how to get your app cited by ChatGPT and Perplexity

AI assistants recommend products in their answers. llms.txt is one of the levers that decides whether yours is one of them. Here's what the file is, what to put in it, and the other three things that matter more than most people admit.

Aug 8, 2026 · 6 min read

When someone asks ChatGPT or Perplexity "what's a good tool for X", the assistant names a handful of specific products. Being one of them is becoming its own acquisition channel, separate from blue-link search. llms.txt is a small file that helps, so it's worth doing — but it's one lever among four, and the order matters.

What llms.txt is

It's a markdown file at the root of your domain — yourapp.com/llms.txt — that tells a language model what your site is and points it at the pages worth reading. It's the AI-era counterpart to robots.txt and sitemap.xml: a machine-readable summary, written for a model instead of a crawler.

llms.txtmarkdown
# Tabby

> Split shared expenses with friends. Track bills, settle up in a tap,
> no signup required for guests.

## Docs
- [How settlements work](https://tabby.app/docs/settlements): the netting algorithm
- [Pricing](https://tabby.app/pricing): free for groups under 5

## About
- [Security](https://tabby.app/security): how balances are stored

What to put in it

  • An H1 with your product name, then a blockquote one-liner that states plainly what it does and who it's for. This is the sentence a model is most likely to reuse.
  • Grouped links to your best pages — docs, pricing, key concepts — each with a short description of what's there. Link to the pages you'd want quoted, not every URL you have.
  • Plain language. No marketing adjectives. A model summarizing "the seamless, game-changing platform" will drop the adjectives and keep the noun, so give it a good noun.

A companion convention, llms-full.txt, holds your full documentation as one markdown file so an assistant can read everything in a single request. Actuant serves both from its own docs — that's this file's sibling in practice.

The three levers that matter more

llms.txt helps a model that has already reached your site. Getting reached in the first place depends on things that are less talked about and more decisive.

  1. 1

    Be crawlable at all

    Retrieval-based assistants read your raw HTML. If your app serves an empty JavaScript shell, there's nothing for them to cite, llms.txt or not. Serving real HTML is the precondition.

  2. 2

    Be in the sources they retrieve from

    Assistants lean on high-authority pages: comparison articles, directories, Reddit and community threads, established review sites. A mention on a page a model already trusts beats a file on a domain it's never seen.

  3. 3

    Add structured data

    Schema.org markup (SoftwareApplication, FAQPage, Product) gives a model unambiguous facts — name, category, price, rating — instead of prose it has to interpret. It's the difference between being understood and being guessed at.

What to expect

None of this is instant, and none of it is guaranteed. Model training and retrieval indexes update on their own schedule, and a well-optimized new product still competes with incumbents a model has seen thousands of times. Treat it as improving your odds across many questions, not flipping a switch on one.

The honest way to run this is to measure it: ask the assistant the questions your users ask, over time, and watch whether you start appearing and who you're up against. That's what Actuant's AI-visibility check does — it asks ChatGPT with web search, records who it recommended and which URLs it cited, and tracks the trend so you can tell a real gain from noise.