OPML to JSON Converter
Convert OPML outline documents into structured JSON, preserving attributes, nested hierarchies, and head metadata from version 1.0 and 2.0 files. Leaf-node flattening reduces deeply nested outlines to compact string values, and configurable indentation matches the formatting conventions of any downstream consumer.
This tool sends nothing over the network. Everything you enter is processed on your device and never reaches our servers.
Documentation
OPML, Outline Processor Markup Language, is an XML format for exchanging outlines, subscription lists, and other hierarchical data between applications. Converting OPML to JSON produces a structured representation of the entire document, head metadata included, with every nested outline preserved; both OPML 1.0 and 2.0 documents are accepted, pasted directly or loaded from an .opml or .xml file.
The head section, title, creation and modification dates, owner name and email, expansion state, and any other head elements, maps to a top-level head object in the JSON. The body is walked recursively: each outline element becomes a JSON object with its attributes as properties, and any nested outlines appear in a children array on their parent object, preserving the full tree structure.
Every attribute on an outline element, text, title, type, xmlUrl, htmlUrl, and any custom attribute, can be preserved, or the output can be reduced to just the text attribute. Leaf outlines, those with no children, can be flattened to a plain string instead of an object when they carry only a text attribute, producing more compact JSON for a simple list-style outline. Indentation in the JSON output is configurable to 2 spaces, 4 spaces, or tab characters, matching whatever formatting convention a downstream consumer expects.
An OPML document must begin with a valid XML declaration or an opml root element, and is accepted with or without the XML processing instruction; whitespace and line breaks within the source are handled automatically, and attributes containing special XML characters are decoded during parsing. Malformed XML, or a document missing its opml root element, produces an error notification rather than a partial or incorrect conversion. A bundled sample OPML document is available to restore, useful as a reference for the expected structure when building or troubleshooting a feed of one's own.
Converting OPML to JSON bridges the gap between outline-oriented applications and modern data pipelines, APIs, and front-end frameworks that consume JSON natively. The following scenarios demonstrate practical applications across several domains.
- RSS Feed Migration: Export a subscription list from one feed reader as OPML, convert it to JSON, and import the structured data into a custom aggregator or database. Each feed entry retains its xmlUrl, htmlUrl, and category grouping for programmatic processing.
- Podcast Directory Processing: Podcast managers export show subscriptions as OPML files. Convert them to JSON to build a searchable index, generate statistics on subscription categories, or merge multiple OPML exports into a unified collection.
- Content Planning: Outline editors such as OmniOutliner and Dynalist export project plans and content structures as OPML. Convert the hierarchy to JSON to feed it into a project management API, render it as a collapsible tree in a web application, or transform it into task lists for a kanban board.
- Data Pipeline Integration: Extract outline data from OPML and convert it to JSON for ingestion into ETL workflows, NoSQL databases, or search indices. The structured JSON output maps directly to document-oriented storage without additional transformation.
- Static Site Generation: Convert an OPML navigation structure or site map into JSON that a static site generator can consume to build menus, breadcrumbs, or sidebar trees. The nested children array mirrors the parent-child relationships needed for recursive template rendering.
- Note-Taking Export: Outliner applications store notes in OPML format. Convert exported outlines to JSON for backup, full-text search indexing, or migration to a different note-taking platform that accepts JSON imports.
- Bookmark Organization: Browser bookmark managers that support OPML export produce hierarchical folder structures. Convert them to JSON for deduplication scripts or link-checking automation.
Inputs, outputs, and what the OPML to JSON Converter computes
What the OPML to JSON Converter asks for and what it returns, as a plain list. Defaults, units, and ranges are the ones the form loads with.
Inputs
- OPML Input
- Indentation · default: 2 spaces
- Include all outline attributes · default: on
- Flatten leaf nodes to strings · default: off
- JSON Output
Controls
Convert · Reset · Copy JSON