How to Log Your Travel History Retroactively
· Nen
The most common objection from people with the most travel behind them is not about price, and it is not about features. It is this: I can't remember where I went in 1998.
That objection is correct, and it is the wrong reason to give up. You will not remember 1998. Nobody remembers 1998. Routine travel decays out of memory faster than almost any other category of personal history, because the parts that felt significant at the time — a conversation, a meal, a delay — are exactly the parts that leave no paper behind, while the parts that leave paper behind felt like admin and got filed away unread.
The method that works is not recall. It is retrieval. You are not writing a memoir from memory; you are reconstructing an itinerary from evidence, the way anyone reconstructs a year of anything — by opening the records that already exist and reading what they say. Done that way, a twenty-year backlog is not a memory test. It is an afternoon of filing, repeated three or four times.
The automatic record you assumed exists mostly doesn't
Most people starting a retroactive log assume there is a single button somewhere that will hand back their movements. There usually isn't, and the two most commonly assumed sources have both narrowed in the last two years.
Google's Maps Timeline was the obvious candidate for anyone with an Android phone and location history switched on. In December 2023 Google announced it would move Timeline from cloud storage to on-device storage, and through 2024 it rolled the change out with per-account deadlines roughly six months after each user was notified. The default behaviour on the deadline was to keep the most recent ninety days on the first device you signed in to and delete everything older. People who saw the email and acted still have their history. People who did not, do not. If you are in the first group, Google Takeout will still export Location History as JSON, and depending on when your account was migrated you will get either a raw Records.json of GPS points or monthly Semantic Location History files that group those points into named place visits and travel segments — the second of which is far more useful for reconstructing a trip, because someone has already done the work of deciding that a cluster of points on a Tuesday was a hotel.
The other assumed source is your passport, and that one is closing too. The EU's Entry/Exit System went live on 12 October 2025 and became fully operational on 10 April 2026, replacing passport stamping at the Schengen external border with a digital entry and exit record tied to a facial image and fingerprints. Stamps in older passports are still perfectly good evidence — go and find the expired ones, they are the single best dated record most travellers own — but from 2026 onwards your passport stops accumulating them for European trips. Whatever you build now has to be built from other sources anyway.
Work from evidence, not memory
The reframe that makes this tractable: never ask yourself where did I go in 2011. Ask instead what did 2011 leave behind. Then read the answer.
Your email archive is the strongest source, and almost nobody uses it first. Airline confirmations, hotel bookings, car hire vouchers and restaurant reservations are all dated, all name a place, and all sit in an archive you have never deleted because deleting email is more work than not deleting it. Search your mail for confirmation, booking reference, itinerary, e-ticket and check-in, restricted to a single year at a time. A Prague hotel confirmation from March 2011 gives you a date range, a city, a country and a nightly rate — four fields recovered from one message you forgot you had.
Card and bank statements catch everything the email missed. Foreign-currency charges are self-labelling: a run of transactions in Thai baht across eleven days in 2016 is a trip, whether or not you can name the towns. Most banks keep statements online for a limited window and archive the rest on request, so start with what is downloadable and ask for the older years in one go rather than one year at a time.
Photo libraries date and place themselves. Any photo taken on a smartphone carries a timestamp, and most carry coordinates. Both Google Photos and Apple Photos will group a library by place and by year, which means the fastest way to find a forgotten trip is often to open the map view of your own photo library and look for clusters you cannot immediately explain.
Airline and hotel loyalty accounts hold flight history for as long as the account has existed, and the flight history is exactly the dated origin–destination list you want. Even a dormant frequent-flyer account is worth the password reset.
Old passports are the last resort and the best proof. Dig out the expired ones. Stamps are ugly, partially illegible and frequently in the wrong order, but they are contemporaneous and specific.
Decide your resolution before you start
The single most common way a retroactive log fails is not missing data. It is choosing a level of detail that cannot be sustained across twenty years, running out of energy in 2009, and abandoning a half-built record that is now worse than nothing because it looks complete and isn't.
Pick your grain first, and pick it lower than instinct suggests. Three workable levels:
- Country-level. Which countries, and roughly when. Fast, achievable for a whole life in an evening, and honest.
- Trip-level. Each trip as a dated container with a name, a country and its main stops. This is the level most people should target.
- Place-level. Individual restaurants, viewpoints, museums. Sustainable for the last two or three years and almost never for the last twenty.
The right answer for most people is trip-level for history and place-level from today forward. There is no rule requiring uniform detail — a record that is coarse in 2004 and fine-grained in 2026 is a normal archive, not a broken one.
The order that saves the most typing
Working newest-first is more satisfying and slower. Working oldest-first is grim and faster. The reason is that recent trips are the ones you can reconstruct at high detail, so starting there sets a standard of detail you cannot maintain when you reach the thin years. Start in the thin years, at low resolution, and let the record get richer as it approaches the present.
Within a single year: countries first, then trips, then the places inside them, then flights, then costs. Each layer inherits dates from the one above it, so entering the trip container before its contents means you never type the same date range twice.
What MapMyWorld does here, and what it makes you type
An honest account, because this is the part where most tools oversell.
There is no self-serve bulk import. MapMyWorld has a CSV import path, but it is admin-only: the /api/import/* routes are behind requireAdmin in server/routes/admin/media.ts, and the button is hidden from non-admin accounts in client/src/pages/places-list.tsx. If you were hoping to hand over a spreadsheet and walk away, that is not currently available, and it would be dishonest to imply otherwise. What you can do is type, and the data model is built so that typing goes in the right order.
Trips carry a startDate and an endDate and default to completed status rather than planned (shared/schema.ts, server/routes/trips.ts), which is a small thing that matters enormously for retroactive work — a trip you create with dates in 2011 is treated as a finished trip immediately, and its countries and airports are recorded against your totals rather than sitting in a planning limbo. Countries hold a firstVisit, a lastVisit and a visitCount, so a country you have been to five times over fifteen years is one row with a span, not five duplicates. Places take a visitDate and a separate departDate, which is the difference between "I was in Kyoto" and "I was in Kyoto for six days". Airport visits carry a visit type, so a layover you never left is recorded as a layover, not as a visit to Singapore.
The reference data is already loaded, which removes most of the typing: 199 countries, over 10,000 airports by ICAO and IATA code, and 1,250 UNESCO World Heritage Sites (CLAUDE.md, Data constants). Worth flagging honestly: the World Heritage List reached 1,273 sites at the Committee's 2026 session in Busan, so the newest inscriptions are not in our reference list yet.
The Free plan is genuinely not built for this job. It allows 5 places, 10 countries, 1 trip and 10 airports, and the place allowance is a lifetime one — deleting a place does not free the slot back up (client/src/lib/tier-limits.ts, and the counter comment in shared/schema.ts). That cap exists to stop a specific abuse loop, not to punish archivists, but the practical consequence is the same: a twenty-year backfill is Pro-plan work. Pro is $7.99 a month or $59.99 a year, and Lifetime is $199.99 once, which is the option that tends to make sense for someone building a permanent archive rather than renting one.
And when it is built, it comes back out. Bulk export to CSV and JSON is available at /api/export/csv and /api/export/json (server/routes/subscription.ts). An archive you cannot remove from the tool that holds it is not an archive.
What finished actually looks like
Finished does not mean complete. It means the gaps are known and marked rather than silently missing. A record that says 2003: Italy, two weeks, cities uncertain is more truthful and more useful than one that quietly omits 2003 altogether, and the notes field on every trip and country exists precisely so you can write down what you could not verify.
Give yourself three sessions. The first opens the archives and produces a rough list of years and countries. The second turns that list into dated trips. The third fills in the places and flights for the years that deserve them. Most people who abandon this abandon it in session one, because they tried to do all three at once for 1998.
If the reason you are doing this at all is that you would rather not have an app quietly following you around in the first place, we wrote about that trade-off directly in the case for typing it in. And if what you actually want to recover is not where you went but what it cost, that is a related but separate reconstruction — the sources are the same statements, and we covered the expense side of it in our look at what replaced Trail Wallet.