How to make your own RSS 2.0 feed file using a text editor

There is no reason you can't create your own RSS feed file for your website yourself.   This can be a useful exercise so that you understand the RSS 2.0 feed format, especially if you are technilcally minded, but literally anyone that has built their own website can do this as well.   We are going to assume you are using Windows Notepad, but you can use any text editor you like on any computer system.   One of the points of RSS is that it is plain text so that it can be read by any type of computer system.  We'll start by taking through a sample RSS feed file, so that you can understand the structure.  The text is stored in XML format, which is just a way of encoding the text so that computers can read the news feed correctly using RSS feed readers/aggregators. (An RSS feed aggregator is read and combines multiple RSS feeds). 



Step by step tutorial


1.  Open Windows Notepad in any version of Windows.  It's under Start then Accessories on old versions of Windows and on Windows 10 it is easiest to use the 'Search the web and Windows' search bar in the bottom left of the screen and just start typing in Notepad.


2.  Copy the following example RSS 2.0 text:



and paste it into Notepad.  This RSS feed text has checked with the W3C RSS feed valuation tool.  Let's go through this, line by line, so that you can understand the structure of the file.  The first 3 lines are required:


<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="">


and also the last two lines:




which tells RSS reader software that this is an RSS 2.0 specification feed.   The encoding part says this is utf-8 which means that the text is Unicode.  Unicode text allows you to use any symbol you can think of in your RSS feeds including non-Latin characters such as:


提要專家, フィードエキスパート, εμπειρογνωμόνων


3.  We are going to save our text file in Windows Notepad.  Since this feed has the encoding set to utf-8 then we need to make sure you save in the correct text format, so that it matches the encoding mentioned in our RSS feed text.  When you save your Notepad file, then change the Encoding drop down to UTF-8 as follows:


Windows Notepad Save As Dialog showing the encoding drop down list


4.  Also put in a filename.  The most common name is going to be 'news.xml' and you can save this to the folder on your computer where your website's pages are stored, assuming you are using desktop software to create and edit your website pages.  If using any other text editor, then look for the encoding and make sure this is set correctly. 


Now that we have saved the RSS feed file, then back to next lines in the example.   The next line in the example is:


<atom:link href="" rel="self" type="application/rss+xml" />


This is a recommendation in the W3C RSS validator and even Google news feeds don't use this but if you want your feed to completely pass the W3C validation, then this needs to be in there.   This should be the final published location of your RSS feed, in the above example (which is fictional), this is which is the URL of the feed on the website. 


The next lines actually make sense, in the main:


<title>My Cake Shop news</title>
<description>The latest news from My Cake Shop</description>
<copyright>Copyright My Cake Shop 2016 All rights reserved</copyright>
<lastBuildDate>Fri, 21 Oct 2016 11:04:28 GMT</lastBuildDate>

The title is what is displayed in news readers as the title of the feed, then link is the same as the atoml:link, i.e. the final published URL of the RSS feed.   The copyright statement is any copyright information, and the lastBuildDate is when you last published changes to this feed.  Just one point about the lastBuildDate .  You'll notice that it ends in GMT, which is Greenwich Mean Time, which everyone thinks as the time in the United Kingdom, which is not quite the case.  GMT is the same as UTC which is universal time.  In the UK, they have British Summer Time which is an hour ahead of GMT in the summer months, started at a variable time in March and ending at a variable time in October.  Some feeds use different time codes such as EST (US Eastern Standard Time), CST (US Central Standard Time), etc., however almost every example you see of RSS feeds on the Internet use GMT, so if the time of your news items is important, then google 'time now GMT' and it will tell  you the current time.


What we are left with is the language and ttl.


Language is the language code of the RSS feed, i.e. is this feed written in English, Spanish, French, Chinese, etc.  The above one has en-US, which mean English United States.  Some other codes are listed below to give you an idea about language codes:


Code Description
en-US English (US)
en-UK English (British)
fr-FR French (France)
es-ES Spanish (Spain)
es-MX Spanish (Mexico)

For other countries, a list of these codes is available at:


The ttl  is the Time To Live value, which is often ignored by RSS feed readers.  This value tells readers how often to check for new information.   We have a value of 60 set in the example above, which tells readers to check every 60 minutes.


That's the feed's header taken care off, now onto the actual items of news.  There are two news items in the above example.  Each one starts with a start news tag of <news> and finishes with an end news tag of </news>.   You can just copy and past to create more news items.  Let's have a look at the structure:


        <title>New scary Halloween donuts oozing with goo</title>
        <description>Really tasty green, red and blue donuts until the 31st.  Get yours before they vanish</description>
        <guid isPermaLink="false">c154d69419534702a0574f106f62655d</guid>
        <pubDate>Fri, 21 Oct 2016 10:44:35 GMT</pubDate>


The title and description are the actual news.   The link is a URL or website page where more information can be found about this news item.  The pubDate is the date of the news items which leaves the guid.  


A guid is a Globally Unique Identifier andr is a unique number to have assiiged to a news item.   This should be unique for every news items in your feed, so if you copy and paste news items then change this everytime to something else.  The isPermaLink="false" bit tells an RSS reader that this is a unique reference number.  Software that generates RSS feeds for you will automatically generate a unique reference for each at random, that's why they are often long alpha numeric text.  If you set isPermaLink="true" then you can put a unique website address URL in here instead.  However, you have already done this on the link item, so it isn't really necessary.


You now have a sample RSS feed file and we have explained the structure, so you now need to edit this file and change the text to your own news.


6.  Start by changing the header:


<title>My Cake Shop news</title>
<description>The latest news from My Cake Shop</description>
<copyright>Copyright My Cake Shop 2016 All rights reserved</copyright>
<lastBuildDate>Fri, 21 Oct 2016 11:04:28 GMT</lastBuildDate>


and put in your own title, link, description, copyright and last build date.  


7.  Change the news items to your own news.  Remove one of the items if you only need one news item or copy and paste one of the times as many times as you need.


8.  You will now want to upload this to the root of your website.  If you have saved your news.xml file in the same place as your website pages, then you can just publish or upload them via FTP.



Condensing the final RSS text 


Your final news.xml file will be beautifully formatted so that a human can read it and see your news items and the links to your news.  However, all the line feeds and spaces within the feed file aren't needed for RSS reader software or websites to read your feed.   If all the spaces and line feeds are removed then the XML looks like:



This makes the file smaller and therefore faster to transmit over the Internet.  With the size of this particular example, it doesn't make too much difference.  If you want to remove the extact white space from your final RSS feed then you can use our free RSS feed formattter tool and use use the 'From RSS or XML text ' option and take the tick out of the 'Add line feeds and indents' check box. 



How to display your RSS feed on your website so that people can subscribe to it


You will need to publish or upload your RSS feed file to your website.   See display your RSS feed on your website for instructions on how to link your RSS feed file to your website pages.



You can build you own feed file manually, as above, but you can also do this a bit easier with a free account.   This allows you to create multiple feed files and add, edit and delete news items easily and then download your finished feed file afterwards.  All your feed information is stored permanently, free of charge, in your account so you can return anytime to edit them. also has paid premium services including RSS feed hosting and direct publishing which updates your RSS feeds directly on your website.  Both of these services can be used 24/7 from mobile devices such as your smart phone as well your desktop computer.