--
title: "Moving Your X Archive to a New Device Without Losing Data"
description: "Copying the archive file is the easy half. The whitelist, exclusion list and check baseline you built on the old machine travel separately. A six-step transfer, the path differences across systems, and a verification table for the new baseline."
tags: ["privacy", "twitter", "backup", "productivity"]
canonical_url: https://digital-footprint-health.shop/blog/x-archive-migration-new-device
Two laptops, one archive folder, and a decision most people make in about ten seconds: drag the ZIP across and get on with the day. Nothing breaks. Then the first check on the new machine returns a score that does not match the number you wrote down last month, and the whole setup suddenly looks unreliable.
Nothing was corrupted. The judgment you accumulated on the old machine simply did not travel with the file.
The archive is the cheap half
An X archive arrives as a single compressed package. Extract it and you get a data folder holding tweets.js, like.js, direct-messages.js and around twenty other files. Moving that folder is a filesystem operation, and filesystem work is the easy end of this task.
What stays behind:
- The whitelist. Posts that must never be deleted, one link or ID per line.
- The exclusion list. Items you already reviewed and cleared as false positives.
- The baseline. Your last score plus the item counts per risk band.
All three are products of manual attention. Rebuilding any one of them costs an evening. They are also invisible during a move, because they live in a notes app, a spreadsheet, or the settings panel of whatever tool you were using.
What the ZIP carries and what you carry
This table explains most reports of a score that "changed by itself" after a move.
| Carried by the ZIP | Carried by you |
|---|---|
| Post text and timestamps | Whitelist decisions |
| Like history | Exclusion list entries |
| Direct message history | Baseline score and band counts |
| Login and IP records | Parser version you were on |
The left column is data. The right column is judgment applied to that data. Only the left half moves when you copy a folder.
Before you unplug the old machine
Do not pull the drive yet, and do not start a cloud sync yet. The old device still holds full context, and this is the cheapest hour you will ever have for capturing it.
Copy those three artifacts into a folder of their own, separate from the ZIP. Mix them into the same directory and the move carries the package across while the configuration stays where it was.
If the old device is already gone, the order flips. Run a fresh check first to produce a baseline, then add back the whitelist entries you remember. Doing it the other way round means performing the manual review twice.
Where the package actually sits
There is no standard extraction path, because X hands you one file and the location is your choice. These are the usual landing spots.
| System | Typical location | Size reference |
|---|---|---|
| Windows | Downloads, or a folder you created, with a data subfolder inside | 50MB to 400MB |
| macOS | Extracted into Downloads, data subfolder one level down | Same range |
| Android | Download folder in internal storage | Smaller, media often incomplete |
| iOS | Files app, needs manual extraction | Same as Android |
Size differences come from media. The same account downloaded on a desktop produces a larger package than on a phone, because mobile exports frequently skip original image and video files. If you switched platforms, confirm the package you are carrying came from a desktop download, or the parsed count for image posts will come out short.
The move in six passes
- Verify the package. Compare the file size against the old device and confirm tweets.js is visible after extraction.
- Copy the ZIP, not the extracted folder. Thousands of small files across two filesystems invite case and encoding mismatches. One archive file carries less risk.
- Extract into a dedicated folder, not Downloads. A second download later will mix the two and you lose track of which is current.
- Import the exclusion list before the whitelist. Where the two overlap, landing the exclusions first stops whitelisted items from being flagged again.
- Run one full parse without deleting anything. Its job is to establish the new baseline.
- Compare against the old baseline. A gap wider than about ten percent means stop and investigate, usually a different package version or an incomplete exclusion list.
Two verification passes, not one
Check data completeness and judgment completeness separately, because they fail in different ways.
| Check | Passes when | First thing to look at if it fails |
|---|---|---|
| Package integrity | File size matches, tweets.js present | Interrupted copy, or the extracted folder was moved by mistake |
| Parsed entry count | Matches the old baseline total | Package came from a mobile download |
| Risk item count | Per-band counts close to baseline | Exclusion list imported incompletely |
| Whitelist active | Whitelisted posts stay out of the queue | ID formatting altered by an editor |
Keep the old device intact until the new one passes. Two copies cost almost nothing. Requesting a fresh archive and rebuilding the judgment costs a great deal more.
When a fresh download wins
Migration fits the case where the archive is still available and the configuration is worth keeping. A clean download is simpler in four situations: the old device has been sold, the package is over two years old, the whitelist was never saved, or you moved between Android and iOS.
A new export takes a few days to arrive. Hold on to the old archive until the replacement lands and clears the same table above.
Migration deletes nothing on its own. It saves you the hours of manual review you would otherwise repeat. Once the new device is settled, run the check to confirm the parse lines up with the old baseline. The check at digital-footprint-health.shop is free from the homepage, runs on your own machine, and never uploads post text. Cleanup scope and pricing are on the pricing page, and the rest of the method write-ups are in the blog index.
Top comments (0)