RSS Feed Generator
Build a valid RSS 2.0 feed XML in your browser — escape special characters, copy, or save as feed.xml
Examples
Generate a channel with no items
title: Dev Notes
link: https://example.com
description: Updates & tips
language: en-us
items: 0<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title>Dev Notes</title>
<link>https://example.com</link>
<description>Updates & tips</description>
<language>en-us</language>
</channel>
</rss>
The required channel fields and optional language are emitted even when the feed has no item blocks yet.
Escape special characters in an item
channel title: Cats & Dogs
channel link: https://example.com/blog
channel description: News <weekly>
item title: Q & A
item link: https://example.com/p/1?a=1&b=2
item description: Said "yes" & "no"
pubDate: Mon, 01 Jan 2026 00:00:00 GMT
guid: https://example.com/p/1<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title>Cats & Dogs</title>
<link>https://example.com/blog</link>
<description>News <weekly></description>
<item>
<title>Q & A</title>
<link>https://example.com/p/1?a=1&b=2</link>
<description>Said "yes" & "no"</description>
<pubDate>Mon, 01 Jan 2026 00:00:00 GMT</pubDate>
<guid>https://example.com/p/1</guid>
</item>
</channel>
</rss>
Ampersands, angle brackets and quotes are escaped in channel and item text so the XML remains parseable.
Omit blank optional item fields
title: Minimal
link: https://example.com
description: Short feed
item title: First
item link: https://example.com/1
item description: Hello
pubDate: empty
guid: empty<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title>Minimal</title>
<link>https://example.com</link>
<description>Short feed</description>
<item>
<title>First</title>
<link>https://example.com/1</link>
<description>Hello</description>
</item>
</channel>
</rss>
Blank language, pubDate and guid values are omitted rather than emitted as empty XML elements.
About this tool
RSS (Really Simple Syndication) is the XML format that powers feed readers, podcast apps, news aggregators and newsletter tooling. An RSS 2.0 file has two parts: a single <channel> that describes the feed itself (title, link, description, optional language) and one <item> per post, each carrying its own title, link, description, publication date and a globally-unique id. Feed readers are XML-strict — if any text field contains an unescaped <, >, &, ' or " the file fails to parse.
This generator assembles a valid RSS 2.0 file with the right structure, escapes every text field for you, and lets you add or remove items as you build. It supports an optional <language> tag for feeds in a specific locale and a per-item <pubDate> formatted as RFC 822 — the format RSS 2.0 requires. The output updates live and is ready to save as /feed.xml at your domain root.
Generation, escaping and rendering all happen in your browser — channel metadata and item contents stay on your device.
How to use
Set the channel
Fill in the channel title, link, description and optional language tag.
Add your items
Click + Add item for each post — set its title, link, description, RFC 822 pubDate and GUID.
Copy the feed
Copy the generated XML and save it as /feed.xml at your domain root, then link it from your HTML head with <link rel="alternate" type="application/rss+xml">.
Use cases
Publishing a project changelog
Add one item per release with a title, canonical link, summary, publication date and GUID, then save the generated XML as feed.xml.
Providing a blog feed
Use the channel metadata for the blog and add each post as an item that feed readers can display and link back to.
Building a lightweight internal update stream
Generate a small RSS document for engineering announcements or release notes without introducing a server-side feed library.
Checking escaping before deployment
Paste titles and descriptions containing ampersands, quotes or angle brackets to confirm the emitted XML is escaped before a feed reader parses it.
Feed structure
| Element | Purpose |
|---|---|
| <?xml ... ?> | XML declaration — required at the top of every RSS file |
| <rss version="2.0"> | Root element, fixed at version 2.0 |
| <channel> | Wraps the channel metadata plus every <item> |
| <title>, <link>, <description> | Channel-level metadata — required |
| <language> | Optional locale tag, e.g. en-us |
| <item> | One per post, nested inside <channel> |
| <title>, <link>, <description> | Per-item content |
| <pubDate> | RFC 822 date — e.g. Mon, 01 Jan 2026 00:00:00 GMT |
| <guid> | Globally unique id for the item |
Special characters in every text field are XML-escaped automatically.
Common mistakes
Mistake:Pasting raw ampersands or angle brackets into XML by hand after generating the feed.
Fix:Let the generator escape text fields and avoid undoing entities such as & and < when copying the output into feed.xml.
Mistake:Expecting the tool to invent a GUID or publication date.
Fix:The component only emits pubDate and guid when you provide non-blank values. Supply a stable item identifier and an RSS-compatible date when your feed reader needs them.
Mistake:Using a relative link for the channel or item URL.
Fix:Use absolute canonical URLs so feed readers and aggregators can resolve the links outside your site context.
Mistake:Assuming the form validates the date format or feed semantics.
Fix:The generator trims and XML-escapes pubDate but does not parse or validate it. Check the final feed with an RSS-aware validator and use the date format expected by your consumers.
Frequently asked questions
Related guides
References & standards
Related tools
ABA Routing Number Generator
Generate 9-digit US ABA routing numbers with weighted Mod-10 checks.
Address Generator
Generate realistic addresses in the correct format for 21 countries — single-line, multi-line, JSON or HTML — plus a postcode validator. Test data only, runs in your browser.
ASCII Text Art Generator
Turn text into large ASCII art banners with multiple figlet fonts
Credit Card Generator
Generate Luhn-valid test credit card numbers for development and QA (not real cards)
Crypto Address Generator
Create testnet-shaped ETH, BTC, SOL and TRON addresses with checksums.
Driver's License Generator
Generate driver's license numbers in the correct format for 21 countries and all 50 US states, plus a format and Luhn validator — test data only, runs in your browser.