Moving a social media archive is not just uploading a ZIP to a new account. Keep the original export, keep media connected to its metadata, and verify the destination before you retire the old copy.

Use four phases: preserve the source, stage the package, transfer it, and validate the result. Treat a native platform export differently from a screenshot or an automated capture service: screenshots preserve the visual but omit captions, comments, and engagement data, while a data export is the recommended route for full metadata according to Sprink.

If you want ongoing capture alongside this migration, SocialGuardian says it captures posts, photos, videos, and stories automatically according to SocialGuardian. Start with a profile.

Build a portable transfer package

Start with the original export exactly as delivered. Keep the ZIP and extracted files in the source package, and keep any JSON metadata beside the media it describes. Instagram and Facebook exports can supply captions and hashtags as JSON metadata files rather than embedding them in the JPEG according to Viallo.

A BagIt-style package is a useful model for a transfer record. BagIt describes hierarchical file-layout conventions for storing and transferring arbitrary digital content, separating payload files from tag metadata according to RFC 8493. Its payload can retain arbitrary subdirectories, and the payload files remain opaque to the format, so the package does not require you to reinterpret or convert the media according to RFC 8493.

Record these fields before copying:

  • Source organization, external identifier, description or provenance, bagging date, bag size, and sender identifiers. BagIt lists these as concrete bag-info metadata elements according to RFC 8493.
  • Every payload path and its checksum. A BagIt payload manifest is a complete listing of payload paths paired with checksums, and every payload file must be listed exactly once according to RFC 8493.
  • A stable file ID and the links between each media file, its caption or metadata file, and its position in the archive. METS uses unique file IDs plus structural and administrative references to connect files and metadata according to the Library of Congress.
  • A provenance entry for the copy or transformation. W3C PROV explicitly models moving, copying, or duplicating digital entities as activities and can describe an archive's members and how it was assembled according to W3C PROV.
  • A field-mapping record: source field, intended destination field, and any unsupported or transformed result. Metadata preservation depends on the structures of the source and destination, and unsupported attributes can be ignored during verification according to AWS DataSync.

The manifest is not just an inventory. It is the record that lets you distinguish a missing file, a renamed file, a changed file, and a field the destination could not represent.

Export the source archive in a format the destination can preserve

Use the platform's native export when metadata matters. The ICO describes data portability as receiving personal data in a structured, commonly used, machine-readable format and lists CSV, XML, and JSON as open formats to consider where no sector format is commonly used according to the ICO.

Do not assume that a destination is technically compatible just because it accepts an upload. The ICO says direct transmission should be supported when technically feasible, but portability does not require technically compatible systems according to the ICO. Keep the original export even when the destination advertises an importer.

Instagram desktop export

The documented desktop device-export flow is:

  1. Click More in the bottom left, then Settings.
  2. Click Meta Account, then Your information and permissions.
  3. Click Export your information, then Create export.
  4. Select the profile and click Next.
  5. Select Export to device according to Instagram.

Instagram lets you choose specific information, a date range, format, notification email, and media quality before selecting Start export according to Instagram. A ready export remains available for four days, and Meta notes that an export link may take up to 30 days to arrive according to Instagram.

Facebook desktop export

Facebook's documented desktop device-export flow is:

  1. Click your profile picture in the top right.
  2. Click Settings & privacy, then Settings.
  3. Click Meta Account, then Your information and permissions.
  4. Click Export your information, then Create export.
  5. Select the profile and Export to device according to Facebook.

Facebook lets you choose specific information, a date range, format, notification email, and media quality according to Facebook. A ready export is available for four days in Available downloads according to Facebook.

LinkedIn desktop export

LinkedIn's documented desktop flow is:

  1. Click the Me icon at the top of your LinkedIn homepage.
  2. Select Settings & Privacy.
  3. Click Data Privacy on the left rail.
  4. Under How LinkedIn uses your data, click Download your data.
  5. Select the data and Request archive according to LinkedIn.

LinkedIn says specific-category downloads may arrive within minutes, larger downloads within 24 hours, and the download link is available for 72 hours according to LinkedIn.

HTML or JSON?

Facebook describes HTML as a viewable ZIP with an index page. It describes JSON as machine-readable information that could transfer more easily when uploading to another service according to Facebook. Choose the format the destination can preserve, but retain the original ZIP and record the format in the transfer package.

Stage and transfer without losing relationships

Treat cloud storage as the destination, not the capture method. Sprink recommends a top-level Social Media Archive folder, platform subfolders, uploaded export ZIPs, and a recurring export reminder according to Sprink.

Keep three areas distinct during the move:

  • The untouched source export.
  • A staging copy where you create the manifest and review mappings.
  • The destination copy.

Copy the ZIP and its extracted contents. Do not replace the source with a reorganized version. Keep JSON beside the media it describes when the export supplies it. If the destination has no documented importer for the export format, use a file-level copy and preserve the source layout rather than guessing a conversion. BagIt permits arbitrary subdirectory structures and does not require the transfer format to interpret the payload according to RFC 8493.

For a file-level provider change, Cloudwards documents this pattern with a cloud drive:

  1. Locate the downloaded archive.
  2. Drag the files into the destination cloud drive.
  3. Let the files upload.
  4. Confirm that the data can be downloaded on another device according to Cloudwards.

Before the full copy, run a preview or dry run where the tool supports it. WhatsApp Backup Tools recommends a dry run to verify paths and an encryption key before creating an archive according to WhatsApp Backup Tools.

Use conservative overwrite rules. A useful rerun pattern is to skip identical content, give same-name files with different content a numeric suffix and warning, and copy new media normally according to WhatsApp Backup Tools. Record these outcomes in an exception log rather than silently overwriting a file.

Keep the transfer private

An export can contain private information. Facebook says to keep an information request secure and take precautions when storing, sending, or uploading it to another service according to Facebook.

Use access controls for the source, staging area, and destination. The ICO security guidance calls for risk analysis, encryption or pseudonymisation where appropriate, confidentiality, integrity and availability controls, timely restoration, and regular testing and review according to the ICO. CISA also recommends offline, encrypted backups and regular testing according to CISA.

During a provider switch, reversibility matters. SocialGuardian says its archive is private to the account, can be exported at any time, and has no lock-in according to SocialGuardian. See the archive setup.

Reconcile files, hashes, and metadata

Run reconciliation before cutover:

  1. Compare the source and destination inventory: original ZIPs, media files, metadata files, manifests, and exception records.
  2. Compare checksums for copied files. NIST defines a checksum as a content-dependent value stored or transmitted with an object to detect changes according to NIST.
  3. Where secure hashes are used, compare the source and destination digest. NIST says secure-hash digests detect whether a message changed after the digest was generated according to NIST.
  4. Compare the field-mapping record. Mark metadata that was preserved, transformed, unsupported, or ignored. AWS DataSync documents that metadata preservation depends on the source and destination structures and can be best-effort according to AWS DataSync.
  5. Review missing files, duplicates, same-name conflicts, skipped items, transferred items, verified items, and deleted items. AWS DataSync task reports provide these categories plus source and destination locations, bytes, and start and end times according to AWS DataSync.
  6. Download or restore a representative sample on another device and check that each media file opens with its related metadata. A file-level cloud-copy workflow should confirm that data can be downloaded on another device according to Cloudwards, and CISA recommends regularly testing backups according to CISA.

If you use a BagIt package as the acceptance model, it is complete only when the payload is complete and every checksum in the payload and tag manifests has been successfully verified according to RFC 8493. A tag manifest can checksum the transfer record or other tag files as well as the payload according to RFC 8493.

Check path handling too. BagIt warns that manifest paths must not escape the bag directory and identifies filename case, Unicode normalization, and path-separator differences as interoperability risks according to RFC 8493.

Cut over with rollback controls

Do not retire the old provider when the upload finishes. Make the destination active only after inventory, checksum, metadata mapping, exception review, and a sample restore pass.

Then:

  1. Mark the destination as the active archive.
  2. Keep the original export, manifest, field-mapping record, transfer report, and exception log.
  3. Keep the old copy available under your retention policy.
  4. Test the new destination again after the first scheduled capture or export.
  5. Remove the old copy only when the retention decision permits it and the remaining copies meet your recovery requirements.

A 3-2-1 strategy is one resilience pattern: three copies, two on different devices, and one off-site; the off-site copy supports timely restoration when other copies are unavailable according to the ICO.

Rollback controls depend on the destination. AWS S3 Versioning can preserve, retrieve, and restore object versions; overwriting creates a new version and a previous version can be restored according to AWS S3. S3 Object Lock can prevent objects from being deleted or overwritten for a fixed or variable period, indefinitely, or under a legal hold according to AWS S3. These are provider-specific controls, not universal behavior, so record what the destination actually supports.

Know what an export cannot restore

A migration preserves what the source export contains. Viallo reports that platform exports may contain compressed copies, that Instagram filters may be baked into exported images, and that likes, comments, and other social context may be gone according to Viallo.

Keep these as separate layers:

  • The media file.
  • The caption or other JSON metadata beside it.
  • The platform's social context, which may not be present in the export.
  • The original export ZIP and its transfer record.

Do not promise that a screenshot, a compressed export, or a new backup provider can recreate information the platform did not include. Screenshots omit captions, comments, and engagement data according to Sprink.

Keep the archive current after the move

A migration protects the archive you have; future exports protect later changes. Sprink recommends a recurring reminder every six months to request a fresh data export from each platform according to Sprink.

For ongoing capture, SocialGuardian says its protected archive includes posts, photos, videos, Reels and Shorts, stories, captions and metadata, follower and following lists, and engagement according to SocialGuardian.

Keep future captures with the migrated archive: SocialGuardian says it backs up Instagram, TikTok, YouTube, X, Facebook, LinkedIn, Twitch, and Pinterest in one place according to SocialGuardian. Start backing up a profile.

FAQ

What is the safest way to move a social media archive to a new backup provider?

Keep the original export, create a path-and-checksum manifest, copy at the file level, review mapping and exception records, and test a download or restore before retiring the old copy. BagIt defines a valid package as complete with successfully verified payload and tag-manifest checksums according to RFC 8493, while CISA recommends regularly testing backups according to CISA.

How do I export social media data without losing captions and metadata?

Use a native data export rather than screenshots. Instagram and Facebook exports can supply captions and hashtags as JSON metadata beside images according to Viallo, while screenshots omit captions, comments, and engagement data according to Sprink.

Should I use HTML or JSON for a social media archive migration?

Facebook describes HTML as a viewable ZIP containing an index page and JSON as machine-readable information that could transfer more easily to another service according to Facebook. Choose the format the destination can preserve and keep the original export.

How can I verify that every photo, video, and metadata record transferred?

Compare inventories, compare checksums or secure-hash digests, review field mappings and transfer exceptions, and test a representative restore. NIST describes checksums as values used to detect changes in a data object according to NIST, and AWS DataSync reports can list items transferred, skipped, verified, or deleted with source and destination SHA-256 checksums in verified reports according to AWS DataSync.

Can I move a ZIP export directly between cloud backup services?

Yes, as a file-level copy when the destination accepts the files: locate the archive, drag it into the destination cloud drive, let it upload, and confirm it can be downloaded on another device according to Cloudwards. Whether the destination parses the ZIP's internal metadata is separate because portability does not require technically compatible systems according to the ICO.

What should I do with the old backup after migrating?

Keep it, the original export, and the transfer records until reconciliation and a sample restore pass and your retention policy permits removal. A 3-2-1 strategy keeps three copies, two on different devices, and one off-site according to the ICO. Provider-specific versioning or object lock can add rollback protection where supported according to AWS S3.

How do I preserve timestamps, filenames, captions, and media relationships?

Keep the source layout and original ZIP, retain JSON beside its media, give files stable IDs, and link each metadata record to the file it describes. METS uses unique file IDs and structural and administrative references for those relationships according to the Library of Congress. Original timestamps are platform-specific: WhatsApp Backup Tools preserves original message timestamps by using database metadata to build a structured media hierarchy according to WhatsApp Backup Tools.

What social media content cannot be recovered or migrated from an export?

An export may contain compressed platform copies and baked-in filters, while likes, comments, and other social context may be gone according to Viallo. Screenshots omit captions, comments, and engagement data according to Sprink.