# What is llms.jsonl and why eCommerce needs it

> llms.jsonl is line-delimited JSON built for product catalogs  -  one self-contained object per product, category or page. How it differs from llms.txt.

Source: https://angeo.dev/what-is-llms-jsonl-and-why-ecommerce-needs-it/
Updated: 2026-09-29

**AI assistants don't read your website the way customers do.** They need structured, machine-readable data  -  and that's exactly what `llms.jsonl` provides.

If you already know about `llms.txt`, think of `llms.jsonl` as its structured, data-rich sibling  -  purpose-built for eCommerce product catalogs.

 [image: What is llms.json and why eCommerce needs it]

 llms.json helps AI agents understand and optimize your eCommerce store for AI-driven search.

## What Is llms.jsonl?

`llms.jsonl` stands for **LLM-optimized Line-delimited JSON**. It is a file format where each line contains a complete, self-contained JSON object representing a single entity  -  a product, a category, or a CMS page.

Unlike a regular JSON array (which wraps everything in brackets and requires loading the whole file at once), JSONL is:

- Streamable  -  AI agents can read it line by line

- Scalable  -  stores with 50,000 SKUs don't need one giant file

- Parseable  -  each line is valid JSON independently

### A Single Product Line in llms.jsonl

```
{"type":"product","sku":"WB-004","name":"Alpine Hiking Jacket","price":189.99,"currency":"USD","url":"https://mystore.com/alpine-jacket","category":"Outerwear","short_description":"Waterproof 3-layer shell for alpine conditions","in_stock":true,"attributes":{"color":"Navy","size_options":["S","M","L","XL"],"material":"Gore-Tex"}}
```

Every product  -  one line. Every line  -  complete context for an AI to understand and recommend that product.

## llms.txt vs llms.jsonl  -  What Is the Difference?

| Feature | llms.txt | llms.jsonl |

| Format | Markdown (human-readable) | Line-delimited JSON (machine-readable) |

| Best for | Store overview, pages, categories | Full product catalog data |

| AI use case | Context & navigation | Product recommendations & queries |

| Scalability | Up to ~500 items | Unlimited (streamed line by line) |

| Attributes | Basic (name, URL, price) | Full (variants, stock, specs) |

| Updated by | Cron or manual | Cron or manual |

Both files work together. `llms.txt` tells AI *what your store is*. `llms.jsonl` tells AI *what your store sells*  -  in full detail.

## Why Does eCommerce Specifically Need llms.jsonl?

### 1. AI Agents Need Structured Product Data

When a user asks ChatGPT or Claude "recommend a waterproof jacket under $200," the AI needs to access structured, queryable product data  -  not parse HTML product pages. `llms.jsonl` provides exactly that: a clean feed of every product with its attributes, price, stock status, and URL.

### 2. HTML Product Pages Are Noise for AI

A typical Magento 2 product page contains navigation menus, cookie banners, review widgets, upsell carousels, and footer links. The actual product data  -  name, price, specs  -  is buried inside this noise. AI context windows are limited, and parsing messy HTML wastes them. `llms.jsonl` gives AI only signal, zero noise.

### 3. Product Catalogs Are Too Large for llms.txt

A store with 5,000 SKUs cannot fit them all meaningfully into a single `llms.txt` file without making it unreadable. `llms.jsonl` handles any catalog size because AI systems can stream and process it line by line  -  one product at a time.

### 4. Variants, Stock, and Pricing Change Daily

Unlike static blog content, product data changes constantly. A configurable product might have 12 size/color combinations. Stock goes in and out. Prices change with promotions. `llms.jsonl` is generated fresh by cron and always reflects the current state of your catalog.

## What Does a Full llms.jsonl File Look Like?

Each line is an independent JSON object. Here is a multi-entity example showing products, a category, and a CMS page  -  all in one file:

```
{"type":"store","code":"angeo_en","name":"EN","url":"https://angeo.test/","currency":"USD","locale":en}
{"type":"category","store":"angeo_nl","id":"4","name":"Sale","parent_id":"2","url":"https://angeo.test/sale.html","description":"","embedding_text":"Sale "}
{"type":"product","store":"angeo_en","id":"4","sku":"product_sku","title":"product name","price":"123.00","currency":"USD","short_description":"","description":"test descriprtion","url":"https://angeo.test/product-name.html","embedding_text":"product name  test descriprtion"}
```

An AI agent processing this file can instantly answer:

- "What waterproof jackets do you have under $300?" -> WB-001

- "Do you have merino base layers?" -> WB-002

- "Is the 3-in-1 jacket in stock?" -> No (in_stock: false)

## How to Generate llms.jsonl for Magento 2

The open-source module [**angeo/module-llms-txt**](https://packagist.org/packages/angeo/module-llms-txt) generates both `llms.txt` and `llms.jsonl` automatically for your Magento 2 store.

Install in 3 commands:

```
composer require angeo/module-llms-txt
bin/magento setup:upgrade
bin/magento cache:flush
```

After installation, navigate to:

```
Stores -> Configuration -> General -> Angeo -> LLMS
```

Generate manually or let cron handle scheduled updates. Both files are created at your store root:

- `https://yourstore.com/llms.txt`

- `https://yourstore.com/llms.jsonl`

The module supports multi-store and multi-language Magento 2 setups, and includes unit tests for both file types. MIT licensed, free to use.

## Where to Place llms.jsonl

Like `llms.txt`, the `llms.jsonl` file belongs in your store's public root directory:

```
https://yourstore.com/llms.jsonl
```

No server configuration required. AI systems that support structured feeds can discover and process it directly.

## The Bigger Picture: AI Commerce Infrastructure

We are entering a phase where AI agents don't just recommend products  -  they initiate purchase flows on behalf of users. For an AI agent to recommend *your* products, it must be able to:

1. Understand what you sell

2. Filter by price, attributes, stock status

3. Navigate to a product URL and initiate checkout

Steps 1 and 2 are solved by `llms.jsonl`. Step 3 is the next frontier  -  but without steps 1 and 2, step 3 is impossible.

Stores that generate structured AI feeds today will be the ones AI agents recommend tomorrow.

## Summary

- `llms.jsonl` is a line-delimited JSON file that exposes your full product catalog to AI systems

- It complements `llms.txt`  -  together they give AI both context and structured data

- For Magento 2, the open-source [angeo/module-llms-txt](https://packagist.org/packages/angeo/module-llms-txt) generates both files automatically

- Implementation takes under 5 minutes and requires no custom development

**The AI commerce era is not coming  -  it is already here.** Structured product feeds are the foundation that makes your store visible to the systems that are replacing traditional search.

*Have questions about llms.jsonl implementation for Magento 2? Leave a comment below or explore the open-source module on [Packagist](https://packagist.org/packages/angeo/module-llms-txt).*

## More on this topic

- [llms.txt  -  Definition, Format and What Reads It](https://angeo.dev/llms-txt-definition/)
- [llms.txt for Magento 2: 6 Modules Compared (2026)](https://angeo.dev/llms-txt-magento-2-free-vs-paid-module-comparison/)
- [llms.txt for Magento 2  -  Free Module](https://angeo.dev/modules/llms-txt/)
- [Markdown Mirror - Definition](https://angeo.dev/markdown-mirror-definition/)
- [llms.txt v2: What the Spec Says, and What the Evidence Shows](https://angeo.dev/llms-txt-v2-spec-and-evidence/)
- [How to generate llms.txt for Magento 2 in 5 minutes](https://angeo.dev/how-to-generate-llms-txt-for-magento-2-in-5-minutes/)
