# Mirror to Paragraph Migration Source: https://paragraph.com/docs/mirror-migration Kiwi News: https://news.kiwistand.com/stories/Mirror-to-Paragraph-Migration?index=0x692feb4d6f004d30527dca07d272ad7d80febe5c64165b046507b63814ad6f1292dc8261 Submitted by misha on 2025-12-03 UTC, 6 upvotes, 1 comment ## Summary Paragraph provides a guide for moving subscribers and posts from another publishing platform, starting with exporting both from the old platform. Subscriber imports require a CSV with an email address column, can be up to 10 MB, and are run by asking an agent to import the file, with imported subscribers marked with the "Imported" source. Paragraph accepts WordPress XML, Substack ZIP, and Paragraph JSON or CSV exports for posts, previews the archive before importing, and skips posts already imported when an import is repeated. Only people who signed up to receive messages should be imported, since purchased or scraped lists hurt deliverability and are not allowed. ## Article Moving from another platform? Export your posts and subscriber list there first, then bring both into Paragraph. Check your CSV The file needs a column of email addresses. Extra columns (names, signup dates) are fine. CSV files can be up to 10 MB. Ask Paragraph to import it Open a chat, attach the CSV, and ask Paragraph to import the subscribers. The import runs in the background, so you can keep working. Check the results Imported subscribers appear in Subscribers with the "Imported" source. Compare the count with your old platform. Only import people who signed up to hear from you. Purchased or scraped lists hurt deliverability and aren't allowed. Import your Web Articles Paragraph accepts WordPress XML exports, Substack ZIP exports, and Paragraph JSON or CSV exports. Preview the archive Open Settings → Web Article portability, choose the source, and upload the export file. Paragraph shows the Web Articles it found before importing anything. Start the import Start the import from the preview. You can leave the page while it runs and come back to check progress. Check the result Titles, slugs, dates, tags, cover images, and publish state carry over when the source includes them. Running the same import again skips Web Articles already imported. If some fail, download the failure report and retry just those. Export and crosspost Settings → Web Article portability also lets you download your Web Articles as JSON, and publish new entries from another site's RSS feed without importing its archive. To export subscribers, use Export CSV in Subscribers. If your old site used a custom domain, point it at Paragraph so old links keep working. See custom domains. Stuck on an odd export format? Email support@paragraph.com. ## Comments **misha**: Curating this bc the migration has just happened and you might want to check on your old Mirror posts. Spend quite some time yesterday editing the old posts in new Paragraph layout since link previews didn’t work as expected and certain images were not supported. Also some minor changes in text layout. Also check if account security is up to date since The Optimism Collective account was recently compromised. What I don’t like is that the posts of others I collected are not visible on my profile like on Mirror. Actually that was what I really liked about Mirror, that I could show my interests next to my own writing. Of course these Mirror post are still to be found on OpenSea, but it’s different. Well, and I’m not into coining posts, too much fuzz, I’d rather collect it as an NFT. It is what it is, there’s not really a lot of choice currently in decentralized publishing platforms. Decentralized publishing is actually very centralized rn :)