Panel CommentsAdmin sign in
Documentation

Import and Export

Import and export

Choose the destination website in the left sidebar and open Import / Export. Transfers are scoped to the selected website; moving one site's data never changes another site.

Import compatibility

Panel Comments recognizes each platform's actual data model instead of assuming every JSON file has the same shape:

  • Panel Comments portable JSON
  • Disqus XML
  • WordPress WXR/XML
  • Remark42 native JSON stream or gzip-compressed stream, including its metadata record
  • Isso JSON, JSON Lines, CSV, or gzip-compressed JSON Lines
  • Commento JSON or gzip-compressed JSON, including its separate commenter records
  • Hyvor Talk JSON, including embedded or separately listed pages and guest users
  • Cusdis JSON from database/API exports, including nested replies
  • Generic JSON arrays, JSON Lines, and CSV with conventional comment field names

Replies, page URLs, titles, authors, timestamps, moderation states, source IDs, pin state, and available vote/reaction totals are preserved when the source exposes them. Imported Markdown is rendered again by the local sanitizer. Email addresses are encrypted on arrival.

Panel Comments accepts uploads up to 256 MB, although the hosting account's PHP upload limit may be lower. Uploads are held in non-public temporary storage and removed immediately after import.

Export compatibility

The same page can download:

  • Panel Comments portable JSON — the highest-fidelity round-trip and archival format
  • Portable CSV — a straightforward table for analysis and custom migrations
  • Disqus XML — threads, replies, authors, dates, and moderation flags
  • WordPress / Hyvor Talk WXR — WordPress import format, also accepted by Hyvor Talk's migration importer
  • Remark42 native JSON stream — metadata followed by one native comment per line
  • Commento JSON — version 1 comments plus deduplicated commenter records
  • Isso-compatible JSON — comment, page, parent, mode, and author fields

Email addresses are excluded from exports by default. Select Include commenter email addresses only when the destination needs them and protect the resulting plaintext file as personal data. Export files are generated in temporary storage, streamed to the administrator, and deleted from the server after the response.

Platform formats cannot represent every Panel Comments feature. Panel Comments portable JSON v2 and Portable CSV keep comment reaction totals and article reaction totals in addition to page keys, canonical URLs, pin state, likes/thumbs-up, and all four moderation states. Platform-specific exports reduce reactions to their nearest vote/score field where the target supports one. Aggregate imports do not invent individual reacting identities. Keep an encrypted full backup under Tools → Backups when disaster recovery—not migration—is the goal.

Command line

The command line remains available for very large files and automation:

php bin/panel site:list
php bin/panel import commento /path/commento-export.json.gz --site=SITE_ULID
php bin/panel import hyvor /path/hyvor-export.json --site=SITE_ULID
php bin/panel import cusdis /path/cusdis-export.json --site=SITE_ULID
php bin/panel export panel /path/comments.json --site=SITE_ULID
php bin/panel export wordpress /path/comments.xml --site=SITE_ULID
php bin/panel export remark42 /path/comments.jsonl --site=SITE_ULID

Add --include-emails to an export command only when required. Supported import names are panel, generic-json, generic-csv, disqus, wordpress, remark42, isso, commento, hyvor, and cusdis. Supported export names are panel, csv, disqus, wordpress, remark42, commento, and isso.

Repeat imports and imperfect data

The unique (website, source format, source ID) constraint makes reruns idempotent. Comments whose parents appear later are deferred. Records whose parents never appear are retained as roots and counted as orphaned. When an import completes, reply counts, page counts, recent timestamps, and cache versions are rebuilt.

Create an encrypted backup before a large migration and inspect moderation queues afterward, especially when the source platform has fewer status choices than Panel Comments.