Two Different Tools for the Same Goal
Both llms.txt and llm.json exist to help AI systems understand what a website is and what it contains. But they work in fundamentally different ways and serve different parts of the AI stack. Knowing the difference helps you implement both correctly rather than treating them as interchangeable.
What llms.txt Is
llms.txt is a plain-text file placed at the root of your website (like robots.txt). It was proposed as a simple convention for giving large language models a concise, human-readable summary of your site: what it is about, what types of content it contains, and where to find key pages. It is intentionally simple. It uses Markdown-style formatting and is designed to be easy to read both by humans and by LLMs processing it as context. Think of it as a README for your website, written for AI systems.
What llm.json Is
llm.json is a structured JSON file placed at a consistent location (often /ai/llm.json or /llm.json). Unlike llms.txt, it is not meant to be read in natural language ... it is meant to be parsed by machines. It can contain structured metadata about your organization, your site's subject matter, key entities, content categories, service offerings, API endpoints, and links to other machine-readable resources. The structured format makes it queryable, parseable by code, and easier to index in systems that process structured data rather than free text.
Key Differences
Format is the most obvious difference: llms.txt is plain text with Markdown conventions, llm.json is structured JSON. Audience is also different: llms.txt is optimized for language model context windows, while llm.json is optimized for programmatic processing by retrieval systems and data pipelines. Purpose differs too: llms.txt emphasizes narrative clarity and human-like explanation, while llm.json emphasizes machine-parseable precision and completeness.
Which One Should You Use?
Use both. They are complementary rather than competing. llms.txt provides a quick, readable summary that any LLM can use as context when it encounters your site. llm.json provides structured detail that retrieval systems, agent pipelines, and data tools can parse and index. Most well-architected AI-ready websites will have both, linked to each other and kept in sync with the actual content of the site.