Miniflux: Feed Import Not Working — Fix
The Problem
Miniflux fails when importing feeds via OPML or when subscribing to individual feed URLs. Common error messages:
Updated March 2026: Verified with latest Docker images and configurations.
Unable to parse the OPML file
Feed not found
Unable to discover feed from the given URL
SSL certificate problem: unable to get local issuer certificate
Sometimes the import appears to succeed but zero feeds are actually added. Other times, specific feeds fail while the rest import correctly.
The Cause
Feed import failures in Miniflux typically come from:
- Malformed OPML file. Some RSS readers export OPML with non-standard XML or encoding that Miniflux’s strict parser rejects.
- Feed URL not directly accessible. Miniflux tries to fetch the provided URL. If it’s a website URL (not a feed URL), Miniflux attempts feed discovery — which fails if the site doesn’t include
<link rel="alternate" type="application/rss+xml">in its HTML. - SSL certificate issues. Self-signed certificates or missing CA bundles in the Miniflux Docker container prevent HTTPS feed fetching.
- DNS resolution failures. The container can’t resolve feed domain names.
- Duplicate feeds. Miniflux silently skips feeds that already exist in the database.
The Fix
Method 1: Fix OPML File Format
Before importing, validate your OPML file. Open it in a text editor and check:
- The file starts with
<?xml version="1.0" encoding="UTF-8"?>or similar XML declaration - The root element is
<opml version="2.0">(Miniflux supports versions 1.0 and 2.0) - Feed entries use
xmlUrlattribute (notxmlurl— case matters in strict XML parsing)
Common fixes:
# Fix encoding issues (convert to UTF-8)
iconv -f ISO-8859-1 -t UTF-8 feeds.opml > feeds-utf8.opml
# Remove BOM (Byte Order Mark) if present
sed -i '1s/^\xEF\xBB\xBF//' feeds.opml
If your OPML was exported from Feedly or Google Reader, it should be compatible. OPML from Outlook or other email clients may have non-standard formatting — manually verify the XML structure.
Method 2: Use Direct Feed URLs
If feed discovery fails (“Unable to discover feed”), Miniflux couldn’t find a feed link on the provided page. Instead of providing https://example.com, provide the direct feed URL:
https://example.com/feed
https://example.com/rss
https://example.com/atom.xml
https://example.com/feed.xml
https://example.com/index.xml
Find the correct feed URL by:
- Check the page source for
<link rel="alternate" type="application/rss+xml"> - Try common paths:
/feed,/rss,/feed.xml,/atom.xml,/index.xml - Use a feed finder tool or browser extension
Method 3: Fix SSL Certificate Issues
If feeds from HTTPS sites fail with certificate errors, the Miniflux container may be missing CA certificates:
services:
miniflux:
image: miniflux/miniflux:2.2.18
environment:
DATABASE_URL: postgres://miniflux:changeme@db/miniflux?sslmode=disable
RUN_MIGRATIONS: "1"
# Disable certificate verification for specific feeds (not recommended for production)
# HTTPS_PROXY: ""
volumes:
- /etc/ssl/certs:/etc/ssl/certs:ro
# ... rest of config
Mounting the host’s SSL certificates into the container resolves most certificate chain issues.
For self-signed certificates on internal feeds, add the CA certificate to the container:
docker exec miniflux sh -c "cat /custom-certs/myca.pem >> /etc/ssl/certs/ca-certificates.crt"
Method 4: Fix DNS Resolution
Test DNS resolution inside the container:
docker exec miniflux nslookup feeds.example.com
If it fails, add DNS configuration:
services:
miniflux:
image: miniflux/miniflux:2.2.18
dns:
- 1.1.1.1
- 8.8.8.8
# ... rest of config
Method 5: Check for Duplicates
Miniflux skips feeds that already exist. If your import shows “0 feeds imported” but no errors, the feeds might already be in the database.
Check via the Miniflux API:
curl -u admin:password http://localhost:8080/v1/feeds | python3 -m json.tool | grep -c "feed_url"
To force re-import, remove existing feeds first (Settings → Feeds → Remove All), then re-import the OPML.
Method 6: Import via API
If the web UI import fails, try the Miniflux API directly:
curl -u admin:password \
-X POST \
-F "[email protected]" \
http://localhost:8080/v1/import
The API returns detailed error messages for each feed that fails, making it easier to diagnose specific issues.
Prevention
- Export OPML regularly from Miniflux (Settings → Export) as a backup of your feed list.
- Use the API for large imports — it gives better error reporting than the web UI.
- Test individual feeds before bulk import if you suspect compatibility issues.
- Keep Miniflux updated — feed discovery and parsing improvements are included in most releases.
Related
Get self-hosting tips in your inbox
Get the Docker Compose configs, hardware picks, and setup shortcuts we don't put in articles. Weekly. No spam.
Comments