Feed Creator

Filter and merge feeds

What's this?

Filter and/or merge feeds

  1. Enter one or more feed URLs
  2. Specify what to keep and what to remove
  3. Subscribe to the feed in your news reader to get notified of changes

You can also use the resulting feed with other services which take RSS as input, such as our Full-Text RSS and PDF Newspaper tools.


  1. Hacker News stories with 'corona' or 'covid' in title
  2. Merge Hacker News and the /r/Technology subreddit feeds
Load parameters
Enable feed cleanup
Remove description
Enable keep filters
Enable remove filters
Remove items without image in description element Remove items without image in media:content element

Show additional options
Order by date
Save key



RSS Feed Subscribe Service shortcuts


Feed Control Newsblur Fraidycat Feedbin BazQux Feedly Inoreader The Old Reader RSS Feed

Service shortcuts

Need more from the feed? Give it to one of our other tools:

{{ shortcut.name }}
{{ error }}

{{ preview.title }}

  1. [No title]

    {{ item.title }}

    {{ item.title }}

    Date: {{ item.date }}

    {{ item.preview_text }}

Feed Control

For more control over the feed, and to increase the frequency the source site is checked for updates, please use 'service shortcuts' after previewing the feed and choose Feed Control.

Try Feed Control now

Premium access

We also offer a premium plan for Feed Creator which increases more of the limits of the free plan. The premium access key is also valid for our Full-Text RSS premium service.

Max number of items returned in each request510
Feed URLs to merge310
Max number of values in multi-value parameters (e.g. text filters)310
Cache time2 hours5 minutes


  • Max number of items returned in each request
    Free: 5, Premium: 10
  • Feed URLs to merge
    Free: 3, Premium: 10
  • Max number of values in multi-value parameters (e.g. text filters)
    Free: 3, Premium: 10
  • Cache time
    Free: 2 hours, Premium: 5 minutes

Individual - $10/month (paid annually) Business - $25/month (paid annually)

The access key will be sent automatically in the order confirmation email.

Host it yourself

Don't want to rely on us? Comfortable running a PHP application on your own? You can host this yourself on your own server (one with at least PHP 7.2 installed).

Request parameters

When making HTTP requests, you can pass the following parameters to mergefeeds.php (either in a GET request or POST request).

Example 1 - Hacker News stories with 'corona' or 'covid' in title

Example 2 - Merge two feeds: Hacker News feed and the /r/Technology subreddit

The form above uses the same parameters, so if you're usure how to construct a URL, use the form and then examine the RSS feed URL that's produced.

Parameter Value Description
url[] string (URL) One or more feed URLs. If more than one is supplied, the feeds will be merged. At least one URL is required.
url_contains[] string (URL substring) Filter out any feed item whose URL does not contain one of these substrings. This can appear multiple times. Example: /article/
text_contains[] string (word or phrase) Filter out any feed item whose title or description does not contain any of the supplied words or phrases. This can appear multiple times.
strip_if_url[] string Filter out any feed item whose URL contains any of the supplied words or phrases. This can appear multiple times.
strip_if_text[] string Filter out any feed item whose title or description contain any of the supplied words or phrases. This can appear multiple times.
strip_if_no_image 0 (default), 1 If enabled, feed items without an <img> element inside the description will get removed.
strip_if_no_image_enc 0 (default), 1 If enabled, feed items without a <media:content> or <media:thumbnail> image element will get removed.
remove[] string If this text is found in the title or description, it's replaced with an empty string. Useful, for example, to remove the site name from item titles, or anything else you find superfluous. Note: to remove the entire item based on its text, use the text_contains or strip_if_text parameters.
keep_qs_params 1 (default), 0, param1,param2 Determines the query string parameters that get preserved in item URLs. 1 = all preserved, 0 = none preserved. You can also pass individual parameters by name, e.g. 'articleId' to only preserve that parameter. Use a comma to supply more than one, e.g. 'id,category'.
title string The feed title to use in the generated feed.
description 1 (default), 0 By default we'll include item descriptions from source feeds (favouring full content when available). Set this to 0 to omit item descriptions from the output.
max number (limit: 20) The maximum number of items to return. The limit can be changed in the config file.
order feed (default), date By default feed items are kept in the same order as the source feed. Set this to 'date' if you want items ordered by date. Usually this will make no difference (feed items are usually already ordered by publication date), but some feeds will contain items with more recent dates lower down in the feed. Sometimes this is due to updates to older news items. Note: When merging two or more feeds, this is applied independently on each feed. The final merged result will contain feed items ordered by date.
format rss (default), json By default the output will be formatted as RSS 2.0. Set this to JSON if you prefer that.
proxy string Self-hosted use only. If you add proxy servers to the config file, you can pass the name of the proxy server you want to use for this request, e.g. 'rotating-proxy-us'.
saved[] string Saved request parameters. In the config file, you can associate a set of request parameters with a given name. You can then pass that name in the request instead of the request parameters. This is useful if you want to subscribe to a generated feed and then update it later without changing the feed URL.

Required parameters: url must be supplied.

Customise this page

If everything works fine, feel free to modify this page by following the steps below:

  1. Save a copy of index-mergefeeds.php in the custom/ folder
  2. Edit custom/index-mergefeeds.php

Next time you load this page, it will automatically load custom/index-mergefeeds.php instead.

Documentation and Support

We have documentation if you need help. You can also check out the forum or email us at help@fivefilters.org.