What is JSON Feed?
JSON Feed is a web feed format that uses JSON (JavaScript Object Notation) as its data structure, which differentiates it from the older standards Atom and RSS that use XML.
But the intended use-case is the same. JSON Feed is a standard to facilitate content syndication, which is distributing content, typically through a standardized feed format. Tools like feed readers can automatically check those feeds and aggregate them for readers.
History and evolution
The motivation for JSON Feed was to create a web feed format that uses JSON instead of XML. Back when the previous web feed formats were developed, RSS in 1999 and Atom in 2005, XML was the preferred format for data exchange. However, over the past fifteen years JSON became the default format due to its simplicity and native support in virtually all modern programming environments.
The first version was introduced in 2017. Version 1.1 was released 3 years later, in August 2020, which added a couple clarifications to the spec and some new fields such as authors
and language
.
As the other formats, JSON Feed is not expected to change further. This is good, because for standards it's important that they stay consistent and backwards compatible, to provide stability for software that integrates them. Also, the needs for content syndication stay the same, so there's little need to update formats.
JSON vs. XML
The reason for JSON Feed's existence, and the major change to previous web feed formats, was the use of JSON instead of XML as data format.
JSON grew out of the JavaScript ecosystem and gained popularity with it. The main benefit for developers is that most programming languages have JSON-support built-in which makes it easier to work with, and that it's simpler which makes it easier to read and write.
Key differences are
- XML separates data from metadata (via elements and attributes), JSON doesn't have that concept
- XML uses nodes while JSON uses a key-value mapping
For example, this is a feed entry with XML-based Atom:
<entry>
<title>Example Entry</title>
<id>urn:uuid:60a76c80-d399-11d9-b93C-0003939e0af6</id>
<updated>2025-04-24T12:00:00Z</updated>
<content type="text">Hello World</content>
</entry>
And this is the same feed entry with JSON Feed:
{
"id": "urn:uuid:60a76c80-d399-11d9-b93C-0003939e0af6",
"title": "Example Entry",
"content_text": "Hello World",
"date_published": "2025-04-24T12:00:00Z"
}
A more detailed description of the differences of the formats can be found in the What is RSS? article.
Technical specification
The JSON Feed specification defines a structured JSON object with two primary sections. The feed-level metadata and the list of entries (items).
Feed properties
The root object of a JSON Feed contains information about the feed as a whole. Required properties include:
version
: The JSON Feed version URL ("https://jsonfeed.org/version/1.1"
- for version 1.1)title
: The title of the feed (e.g., “My Blog”)items
: The list of items in the feed
Optional properties can specify the homepage and feed url, add a description, icon, favicon, authors, language, and more.
Item properties
Every object in the items
array represents a post or article. Required properties include:
id
: Unique identifier for the item- At least one of
content_html
orcontent_text
: The content of the item
All other properties are optional. It is recommended to add at least the url
, title
, and date_published
properties.
Other optional properties can specify authors, tags, language, image and summary.
Items can also have a list of attachments
, which specify related resources such as audio or video files.
Extending the specification
JSON Feed allows extensions to the specification by adding properties that are prefixed with an underline (_
).
Any item property starting with an underline is by definition an extension. Software that understands an extension can use it, and software that doesn't can safely ignore it.
Common use-cases
JSON Feed is functionally equivalent to RSS and Atom in terms of applications:
- News aggregation: Feed readers and aggregators display updates from multiple sources in a unified interface.
- Podcast distribution: JSON Feed supports attachments for audio and video, though RSS remains the de facto standard for podcasting.
- Content curation: Newsletters and curators can ingest updates from web feeds.
- Automation: Workflow and automation tools (such as IFTTT or Zapier) can monitor JSON Feed endpoints as triggers for actions.
Conclusion
JSON Feed is a great evolution to web feed formats for developers. They are simpler to generate, which makes it easier to integrate with custom written software and websites.
However, most feeds are generated by standard software like CMS systems or blogging platforms, which have little incentive to switch, since pretty much all software that works with web feeds can read RSS and Atom feeds.
The value of this relatively new format is for new software projects and products, which will have an easier time generating feeds. And since JSON feed is also widely supported by consuming software (e.g. feed readers), it's likely that its adoption will gradually increase.