brand.json is an emerging machine-readable file, published at the well-known path /.well-known/brand.json, that gives AI agents, answer engines, and agentic commerce platforms a single canonical source of truth for who a brand is: its legal name, logo, official channels, verified profiles, product catalogue summary, and how it wants to be represented in an AI-generated answer or transaction. Where Organization schema and JSON-LD describe a brand page by page, brand.json describes the brand once, at a fixed, discoverable location, independent of any individual URL.
The convention follows the same pattern as security.txt and robots.txt: a predictable file at a predictable path that a machine can fetch without first having to crawl or interpret a full website. For a human visitor this changes nothing. For an AI shopping agent trying to verify which retailer is actually selling a product, or an answer engine trying to confirm a brand's official name and channels before citing it, brand.json is designed to remove the guesswork.
Why brand.json emerged
The immediate driver is agentic commerce. As AI agents move from answering questions to taking actions - comparing products, adding items to a cart, completing a purchase on a user's behalf - they need a fast, verifiable way to confirm brand identity before acting. Scraping a homepage for a logo and a few sentences of marketing copy is slow, inconsistent, and easy to get wrong. The Agentic Advertising Council (AdCP) published brand.json as a standard specifically to solve this: a single file an agent can fetch once, cache, and trust as the brand's own authoritative statement about itself.
The same underlying need shows up under a few different names across the industry right now, since - much like AEO and GEO - a single dominant term has not settled yet. Some writers call the same category of file brand-facts.json; others describe a broader brand-memory.json aimed at giving AI systems ongoing context about a company's expertise, research, and preferred citations rather than just static identity fields. The specifics vary, but the goal in every version is the same: stop making AI agents infer who you are from prose, and hand them a structured, verifiable answer instead.
How brand.json differs from llms.txt and schema.org markup
It is easy to conflate brand.json with the two structured-data conventions AEO already relies on, but each solves a different problem and none of them replace the others.
- Schema.org JSON-LD (Organization, Product, FAQPage) is embedded on individual pages and describes the entities on that page specifically. It requires an agent to crawl and parse HTML to find it.
- llms.txt is a markdown index at the site root that points an AI system to a site's most important pages and summarises what the site is about, aimed primarily at content discovery.
- brand.json is a single JSON file at a fixed, well-known path that states brand-level facts once - legal identity, official channels, verified profiles, and representation preferences - independent of any page or crawl.
In practice the three are complementary layers, not competitors. Organization schema and llms.txt still matter for how individual pages are understood and discovered; brand.json is the fastest, most authoritative layer an agent can check first, before it ever needs to crawl a page at all.
What belongs in a brand.json file
The specification is still evolving, but the fields converging across current implementations cover four areas: identity, visual assets, verified channels, and representation preferences.
Identity and legal facts
- Legal and trading names, including common misspellings or shortened forms customers actually search for
- Founding date, headquarters location, and registration or licensing details where relevant
- A short, canonical description of what the brand does, written the way you would want an AI assistant to describe it verbatim
Visual and voice assets
- Logo URLs in multiple formats, for an agent that needs to render a brand mark in a generated answer or shopping interface
- Primary and secondary brand colours
- Tone-of-voice notes an agent can use when summarising or quoting the brand
Verified channels and profiles
A sameAs-style list of official social profiles, marketplace storefronts, and review platform listings, so an agent can confirm it is looking at the genuine brand rather than an impersonator or an outdated aggregator listing. This is the field with the clearest immediate payoff: it gives AI shopping agents a way to distinguish an official storefront from a lookalike before recommending or transacting with it.
Representation preferences
- Preferred citation format or short name when the brand is mentioned in a generated answer
- Claims or terminology the brand explicitly wants avoided (for example, a discontinued product name or a rebrand still propagating through older listings)
- A contact endpoint for correcting inaccurate AI-generated claims about the brand
Think of brand.json as the machine-readable equivalent of a press kit. It answers exactly the questions a journalist, or now an AI agent, would otherwise have to email you to confirm.
How to implement brand.json
- Draft the JSON document covering identity, assets, verified channels, and representation preferences using the fields above as a starting checklist
- Publish it at https://yourdomain.com/.well-known/brand.json, served with a Content-Type of application/json
- Keep it in sync with Organization schema and llms.txt rather than letting the three drift into inconsistent brand names or URLs
- Confirm GPTBot, ClaudeBot, PerplexityBot, and Googlebot-Extended are not blocked from the /.well-known/ path in robots.txt
- Re-check the file whenever the brand rebrands, changes official channels, or discontinues a product name that older listings still reference
brand.json is an emerging, still-consolidating standard rather than a universally adopted one. Treat it as a low-cost, high-upside addition alongside Organization schema and llms.txt, not a replacement for either - most AI systems today will not yet check it, but the agentic platforms that do check it first.
Why this matters for AEO now
Answer Engine Optimization has always been about removing the ambiguity an AI system would otherwise have to resolve on its own before it feels safe citing or acting on a source. Schema markup does this at the page level and llms.txt does it at the site level. brand.json extends the same principle to the brand as a whole, at exactly the moment AI systems are shifting from simply answering questions to taking actions - comparing, shopping, and transacting - on a user's behalf. A brand that has already published a clean, verifiable answer to 'who are you and where can I confirm it' is the brand an agent defaults to trusting first.
Run a free CiteRank audit to check whether your Organization schema, llms.txt, and official channel signals are consistent enough to support a brand.json file worth publishing.