OPML Converter & Editor (OPML Studio)

Paste OPML (the RSS subscription list format) or choose a file to see feed and folder counts, duplicate feed URLs and broken URLs. After removing duplicates or flattening folders, convert to CSV, JSON or Markdown, or save as OPML. Feed contents are never fetched.

On-device・No uploadMobile friendlyWorks offline

Your files and input are processed only inside your browser on this device and are never uploaded to our servers.

OPML, CSV or URL list

Drop an OPML or CSV file

.opml, .xml, .csv or .txt, up to 2 MB.Accepts: OPML / XML / CSV / TXTUp to 2 MB per filePaste (Ctrl+V) also works

Paste OPML, or a CSV or a list of URLs (one per line).

Loaded list

After you load OPML, the feeds and counts appear here.

How to use

  1. Paste OPML, or choose a .opml or .xml file. A CSV or a list of URLs (one per line) also works and is turned into OPML.

  2. Press Load to see feed and folder counts, duplicates and broken URLs. Try a sample first if you like.

  3. Tick the feeds to remove and press Remove selected, or use Remove duplicates, Flatten folders and Sort by title.

  4. Paste a second OPML into Merge to combine both lists and drop duplicates.

  5. Open Convert to check CSV, JSON or Markdown, then copy or save. To keep the result as OPML, use Save OPML.

What it does

Reads OPML 2.0 as specified

Nested outlines become folders, and an outline with xmlUrl becomes a feed (opml.org, OPML 2.0). Attributes such as title, text and htmlUrl are written back in the order they were read.

Duplicates found by feed URL

Feeds with the same xmlUrl are duplicates. Surrounding spaces, the case of the host name, a trailing slash and anything after # do not make a difference. Different titles with the same URL are still duplicates.

Edited on your device

Remove duplicates, flatten folders, sort by title, remove selected feeds and merge two OPML files, all in your browser. Nothing is uploaded.

Safe reading

Files that contain a DOCTYPE or ENTITY declaration are refused. External entities are never resolved, and the text is never drawn as HTML.

Spreadsheet and Markdown output

CSV has title, feed URL, site URL and folder columns. Values that begin with = or + get a leading apostrophe so that a spreadsheet does not run them as formulas.

Use cases

  • Reduce duplicates and broken URLs before moving to another RSS reader
  • Check a list of RSS subscriptions in a spreadsheet
  • Combine the subscription lists from two devices
  • Turn a feed list into Markdown for a note or blog post

Capability matrix

FeatureSupportNotes
Reading OPML (1.0 and 2.0 style files)SupportedAny version value is read: outlines in the body are used
List and counts of folders and feedsSupported—
Detection of duplicates, missing xmlUrl and malformed URLsSupported—
Remove duplicates, flatten folders, sort, mergeSupported—
Conversion to CSV, JSON and MarkdownSupported—
Saving as OPML 2.0SupportedAttributes that were read are written back as they were
Creating OPML from a CSV or a list of URLsPartialWithout a title column the URL is used as the title
Fetching feed contents (articles, update dates)Not supportedNo network access. Check articles in your reader
Checking whether a feed URL is reachable or still activeNot supportedNot possible without connecting
OPML containing a DOCTYPE or ENTITYNot supportedRefused for safety
Single Atom files, JSON Feed, or importing from a siteNot supportedOnly OPML and CSV or URL lists are supported

Limits & notes

  • Input is limited to 2 MB, and to 5,000 feeds.
  • The table shows up to 300 feeds (the counts cover every feed).
  • When merging, the title and format come from the first OPML.
  • CSV headers are recognised by words such as URL, title, site and folder. If none is found, each line is read as one URL.

Privacy & safety

OPML content is handled only in your browser and never sent anywhere. The tool does not connect to feed URLs.

FAQ

What is OPML?
OPML is an XML format that stores a list of RSS subscriptions, including nested folders. Many RSS readers can export and import it. This tool reads OPML, tidies it, and converts it to CSV and other formats.
How do I convert OPML to CSV?
Paste or open the OPML, choose CSV under Convert, then copy or save it. The columns are title, feed URL, site URL and folder.
Can I make OPML from a list of URLs?
Yes. Paste one URL per line, or a CSV with headers such as URL, title and folder. Only http and https URLs are used; other lines are counted and skipped.
How are duplicate feeds found?
Feeds with the same xmlUrl (the feed address) are duplicates, even when their titles differ. A trailing slash or anything after # is not treated as a difference.
Can I check new articles here?
No. The tool never fetches feeds; it works only with the list. Check new articles in your RSS reader.

XML Studio — Formatter & Validator

Paste XML to format, minify or validate it. Errors show the exact line, column and cause, and whitespace that carries meaning (mixed content, xml:space) is never touched. XPath search and JSON conversion are on the same screen. Your data never leaves your device.

No upload

XML Sitemap Generator & Validator

Paste a list of URLs to create a correctly written sitemap.xml, or paste an existing sitemap to find the errors that stop Google from reading it — with line numbers.

No upload

CSV Studio

Open CSV files that are slow or garbled in Excel and view, search and edit them right away in your browser. Combine, split and save as CSV (UTF-8 with BOM, Shift_JIS), Excel or JSON on one screen.

No upload

HTML Inspector

Paste a page’s HTML to review SEO and accessibility basics at a glance: heading structure, meta tags, Open Graph, image alt text, links and structured data — with a preview of how it may look in search and on social media.

No upload

robots.txt Tester

Paste a robots.txt to see instantly whether a URL is allowed or blocked for Googlebot or AI crawlers, and which line decided it. Misspellings and directives Google ignores are flagged too.

No upload

Structured Data / JSON-LD Studio

Build JSON-LD for 13 common types with forms that separate required from recommended fields, then copy it. Paste JSON-LD or HTML to extract every script, @graph and array and see problems from the exact line of a syntax error to missing Google rich result requirements. It is not Google’s official tool.

No upload

Last updated: