RSS & Atom feed validator — runs in your browser, zero server
Try an example:
feed.xml — paste your RSS or Atom XML here
validation results
Paste your feed XML on the left and click Validate below.

FeedLint checks:
• RSS 2.0 and Atom 1.0 spec compliance
• Required and recommended elements
• Apple Podcasts namespace requirements
• Date format correctness (RFC 822 / ISO 8601)
• Enclosure validity for podcast episodes
• Encoding and XML well-formedness
🔒 Your XML never leaves your device

Free RSS & Atom Feed Validator

FeedLint is a free, browser-side validator for RSS 2.0 and Atom 1.0 feeds. Paste your feed's raw XML and FeedLint instantly checks it against the spec — finding malformed tags, missing required elements, invalid dates, and common podcast submission errors. Your feed never leaves your device.

Unlike older server-side validators, FeedLint runs entirely in JavaScript using the browser's built-in XML parser. There's no server round-trip, no rate limit, and no risk of your unpublished content being logged or indexed by a third party.

What FeedLint validates

How to get your feed XML

Find your feed URL (usually /feed, /rss, or /feed.xml). Open it in a browser tab. Use View Source (Ctrl+U) to see the raw XML. Select all, copy, and paste here. Or use curl:

curl https://yourblog.com/feed.xml | pbcopy

Frequently asked questions

Does FeedLint send my feed to a server?

No. FeedLint runs entirely in your browser using JavaScript's built-in DOMParser. Your feed XML never leaves your device. This is especially important if your feed contains draft posts, internal content, or anything not yet published publicly.

Why is my podcast feed being rejected by Apple Podcasts?

Apple Podcasts requires specific tags in the iTunes namespace: <itunes:author>, <itunes:image>, <itunes:explicit>, and <itunes:category>. Each episode item must also have an <enclosure> element with a valid URL, MIME type, and file length. FeedLint checks all of these and shows you exactly which are missing or malformed.

What feed formats does FeedLint support?

FeedLint validates RSS 2.0 (the most common format, used by WordPress, Ghost, and most podcast hosts) and Atom 1.0 (used by Blogger, some static site generators, and the GitHub API). RSS 2.0 is required for podcast directories; Atom 1.0 is common for blog subscriptions.

My feed shows valid but subscribers aren't receiving updates — why?

A structurally valid feed can still have issues that prevent readers from showing new items. Common causes: the <pubDate> on new items is in the future or uses a timezone readers don't recognize; the <guid> element is missing or reused across items; the feed URL changed without a redirect. Validate to rule out structural errors first, then check your publishing workflow.

What is the difference between RSS 2.0 and Atom 1.0?

RSS 2.0 (Really Simple Syndication) is the oldest and most supported format. It's required for all major podcast directories. Atom 1.0 is a newer, more precisely specified format with better support for internationalization and author metadata. Both work in feed readers, but if you're podcasting, use RSS 2.0.

How do I find my feed URL?

WordPress: yourdomain.com/feed  ·  Ghost: yourdomain.com/rss  ·  Jekyll: yourdomain.com/feed.xml  ·  Hugo: yourdomain.com/index.xml  ·  Substack: yoursubstack.substack.com/feed  ·  Squarespace: yourdomain.com/blog?format=rss

Related tools

EnvLint — validate your .env files, find missing variables and exposed secrets  ·  Cronfig — test cron expressions and see next run times in plain English  ·  LinkScrub — strip UTM parameters and tracking garbage from URLs  ·  DiffLint — catch debug statements and secrets in git diffs  ·  qrnch — QR code generator  ·  hashchop — SHA-256/SHA-512 hash generator  ·  jwtchop — JWT decoder  ·  epochop — Unix timestamp  ·  b64chop — Base64 encoder  ·  csvchop — CSV to JSON  ·  uuidchop — UUID generator  ·  radish — stack trace analyzer  ·  pxicons — pixel favicon editor  ·  yamlchop — YAML validator  ·  sqlchop — SQL formatter