---
title: >-
  Go-OPML — High-performance CLI tool to parse OPML and fetch RSS feeds
  concurrently — by Jad Madi (@jadmadi)
description: >-
  High-performance Go CLI utility that parses OPML outline files, converts them
  to structured JSON, and concurrently health-checks and polls hundreds of
  RSS/podcast feeds.
href: /project/go-opml/
author: Jad Madi
category: Developer Tools & Infrastructure
domain: Developer Tools & Infrastructure
status: Active Tool
license: GPL-3.0
year: '2025'
---
# Go-OPML — High-performance CLI tool to parse OPML and fetch RSS feeds concurrently

High-performance Go CLI utility that parses OPML outline files, converts them to structured JSON, and concurrently health-checks and polls hundreds of RSS/podcast feeds.

## Project Overview

- **Website**: https://jadmadi.net/project/go-opml/
- **Live Platform**: https://go-opml.madi.se
- **Repository**: https://github.com/jadmadi/Go-OPML
- **Documentation**: https://github.com/jadmadi/Go-OPML/blob/master/README.md
- **Package**: https://pkg.go.dev/github.com/jadmadi/Go-OPML
- **Domain**: Developer Tools & Infrastructure
- **Category**: Developer Tools & Infrastructure
- **Status**: Active Tool
- **Year**: 2025
- **License**: GPL-3.0 (copyleft)
- **Author**: [@JadMadi](https://x.com/jadmadi)

## Quick Install & Run

```bash
go install github.com/jadmadi/Go-OPML@latest
```

## The Problem It Solves

Processing large OPML subscription files and verifying feed availability sequentially is extremely slow and memory intensive.

## The Solution

Leverages Go's concurrent networking routines to process hundreds of feeds in seconds.

## Key Features & Capabilities

- Converts nested OPML files into clean, predictable JSON
- Concurrent feed fetcher with configurable worker concurrency
- Validates RSS and Atom XML schemas

## Technical Specifications & Architecture

- **Languages**: Go
- **Frameworks / Libraries**: encoding/xml, net/http
- **Architecture**: Bounded goroutine worker pool with channel synchronization
- **License Model**: GPL-3.0

## Frequently Asked Questions

### How do I install Go-OPML?

Run `go install github.com/jadmadi/Go-OPML@latest`.

## Links & References

- Project Page on Crosscurrent Code: https://jadmadi.net/project/go-opml/
- Full Projects Directory: https://jadmadi.net/projects/
- Author Profile: https://jadmadi.net/about/
