RSS 2.0 and Atom 1.0 at a glance
Web feeds let readers and aggregators subscribe to a site’s updates. Two formats dominate: RSS 2.0, the simpler and older syndication dialect, and Atom 1.0, the stricter IETF standard. This reference lists the common elements of both, flags which are required, and shows whether each lives at the feed level or the per-item level.
How it works
A feed is an XML document with a single feed-level container holding metadata plus a repeating per-item container:
<rss version="2.0">
<channel>
<title>Example</title>
<link>https://example.com</link>
<description>Latest posts</description>
<item>
<title>Post</title>
<guid isPermaLink="false">tag:example.com,2026:1</guid>
<pubDate>Wed, 02 Oct 2002 13:00:00 GMT</pubDate>
</item>
</channel>
</rss>
In Atom the container is feed with repeated entry elements, and the required
fields are stricter: id, title and updated are mandatory on both the feed
and every entry. Dates differ too — RSS uses RFC 822, Atom uses RFC 3339.
RSS 2.0 versus Atom 1.0 — key differences
| Concern | RSS 2.0 | Atom 1.0 |
|---|---|---|
| Standard body | Not IETF; community spec | IETF RFC 4287 |
| Date format | RFC 822 (Wed, 02 Oct 2002 13:00:00 GMT) | RFC 3339 (2002-10-02T13:00:00Z) |
| Per-item ID | guid (optional, but strongly recommended) | id (required) |
| Content | description (no explicit type) | content with explicit type attribute |
| Minimal channel | title, link, description | id, title, updated, link rel=self |
| Self-link | Via atom:link namespace extension | Native link element |
Choose RSS 2.0 when you need maximum reader compatibility and a simple podcast feed. Choose Atom 1.0 when you need a stricter, standards-compliant feed or when your publisher enforces IETF compliance.
Common mistakes to avoid
- Mixing date formats — RFC 822 in an Atom feed, or RFC 3339 in RSS, causes validation errors and reader breakage.
- Omitting
guidin RSS — without a stable identifier, readers cannot de-duplicate entries when you correct a title or URL. - Not serving the right Content-Type — send
application/rss+xmlorapplication/atom+xml, nottext/html, so clients auto-discover the feed. - Missing
rel="self"— aggregators and the W3C feed validator look for this link to confirm the canonical feed URL. - Podcast enclosures missing
length— theenclosureelement requiresurl,type, andlength(in bytes); omittinglengthbreaks some podcast clients even though readers tolerate it.
Tips and notes
- Always include a stable
guid(RSS) orid(Atom) so readers de-duplicate entries. - Podcasts attach media with an RSS
enclosurecarryingurl,lengthandtype. - Add a
rel="self"link so validators and aggregators find the canonical feed URL. - Set the correct content type:
application/rss+xmlorapplication/atom+xml. - Use the W3C Feed Validation Service to catch schema errors before publishing.