DataExportViewer

X (Twitter) data viewer

Open your X archive (the same ZIP the Twitter archive used to be) — from Download an archive of your data, the unzipped folder, or the .js files in its data folder — online, in this browser tab: your tweets, likes, followers, following and direct messages become tables you can search and download as CSV. Free, no account; the file is never uploaded.

Drop your X archive here — the ZIP as you downloaded it, the unzipped folder, or the .js files from its data folder — or

Nothing is uploaded: the file is read by JavaScript in this browser tab and stays on your device. Pictures and videos in the archive are skipped; only the data files are read. Drop it anywhere on the page.

How to view your X (Twitter) archive

  1. Request the archive on X: Settings and privacy → Your account → Download an archive of your data, confirm your password, then Request archive. X: “It may take a few days for us to prepare the download of your X archive.” Make sure your email address is confirmed first (X Help, How to download your X archive).
  2. X: “You’ll receive an email and in-app notification when your archive is ready.” Download the ZIP while logged in to your X account in the same browser.
  3. Drop the downloaded ZIP on this page, or click Choose file. If you have already unzipped it, click Choose folder or drop the folder; you can also drop the .js files from its data folder (tweets.js, like.js, follower.js…).
  4. Every data file gets a tab: click one, type in Find in this list to filter it, click a column header to sort, and click Download CSV or Copy for Excel / Sheets. The Summary tab has the charts, counts and dates.

What is in an X archive

X describes the archive as “a machine-readable archive of information associated with your account in HTML and JSON files” (X Help, How to access and download your X data). The ZIP holds a page called “Your archive” with its own viewer app, a data folder, and folders of pictures and videos. The data folder is where everything is: one file per list, and each file is JavaScript rather than plain JSON — it starts with window.YTD.tweets.part0 = and then holds the JSON array, which is why a JSON viewer refuses it. This page strips that prefix and reads the array; the viewer app and the media files are skipped. It does not assume a fixed layout: every list in every data file becomes its own tab, named after the file, and a list split over several files (tweets.js, tweets-part1.js) is joined into one tab.

In archives we have tested this covers tweets (with the full text, date, source, counts and hashtags), likes, followers, following, blocked and muted accounts, lists, the account and profile fields, ad impressions and engagements, and direct messages — one tab per conversation, with the sender, time and text of each message. Two things are worth knowing. Followers, following and messages are stored as account IDs, not names: the archive gives a link (twitter.com/intent/user?user_id=…) that opens the profile on X, and this page shows that link. And every date in the archive is written in UTC (“Sat Sep 19 21:14:02 +0000 2026”); the viewer shows times as written and does not convert them to your time zone.

Is my X archive uploaded?

No. The file is opened and read by JavaScript in your browser; there is no server that receives it, nothing is stored, and the page sets no cookies. A ZIP is unpacked in the browser too, using the browser’s own decompression, and only the data files are read — the pictures and videos inside stay untouched. You can check this yourself: open your browser’s developer tools on the Network tab, drop a file, and watch that no request carries it. The site’s host, GitHub Pages, logs the IP address of every visitor for security, like any web server — details on the privacy page. Because the file stays with you, the viewer works on a phone as well as on a laptop, and keeps working offline once the page has loaded.

Summary tab: counts, dates and busiest hours

The Summary tab draws two small charts for the largest dated list (usually your tweets, or your likes) — records by hour of the day and by weekday, in UTC as the dates in the file — and below them lists every section with its number of records and its first and last date. It is an overview you can screenshot — but the point of the page is the lists themselves: every tweet you ever posted with its date and text, searchable by word and exportable as a CSV that opens in Excel, Google Sheets or Numbers; the likes with the text of each liked tweet; each conversation you can search.

“Your archive.html” or this page

The archive comes with its own viewer: open “Your archive.html” in a desktop browser and it shows your tweets and other data much as X does. X notes it is for “a desktop web browser”. This page is for the other cases: reading the archive on a phone or tablet, searching a whole list at once, and getting the lists out as CSV or into a spreadsheet. It reads the same data files the built-in viewer reads, and nothing else.

Facts checked on 25 September 2026 against X’s help pages “How to download your X archive” (help.x.com) and “How to access and download your X data” (help.x.com). The layout of the archive is described from files we have tested; X changes file and field names over time, which is why the viewer reads whatever lists it finds. DataExportViewer is an independent tool, not affiliated with X Corp.

Other exports? The same viewer opens the TikTok, Instagram, Facebook and Google Takeout downloads. The home page lists every tool; the about page explains where the facts come from.

FAQ

How do I download my X (Twitter) archive?

On X: Settings and privacy → Your account → Download an archive of your data → confirm your password → Request archive. X says “it may take a few days for us to prepare the download of your X archive” and that “you’ll receive an email and in-app notification when your archive is ready”; download the ZIP while logged in to your X account in the same browser. Make sure the email address on your account is confirmed before you request it. Then drop the ZIP on this page.

The archive contains .js files, not .json — can this page open them?

Yes. Every data file in the archive is JSON with a JavaScript prefix: tweets.js starts with “window.YTD.tweets.part0 =” and then holds the array of tweets. That prefix is why a plain JSON viewer rejects the files. This page removes it and reads the array, so you can drop the whole ZIP, the unzipped folder, or the .js files from the data folder. The archive’s own viewer app (the assets folder) and the media files are skipped.

Is my X archive uploaded to a server?

No. The ZIP or .js files are read by JavaScript in your browser; no server receives them, nothing is stored, and the page sets no cookies. To check, open your browser’s developer tools on the Network tab while you drop the file: no request carries it. The host, GitHub Pages, logs visitor IP addresses for security — see the privacy page.

“Your archive.html” needs a desktop browser — how do I read my archive on a phone?

Open this page on the phone, tap Choose file and pick the ZIP where your phone saved the download. Every data file appears as a tab; tables scroll sideways, and Find in this list filters the rows. Download CSV saves a file that opens in Google Sheets, Excel or Numbers on the phone. Nothing is uploaded, so it works on mobile data and offline once the page has loaded.

How do I export all my tweets to Excel or Google Sheets?

Open the Tweets tab: each row is one tweet with its date (created_at), full text, source app, like and retweet counts, reply information and the hashtags, mentions and links from its entities. Click Download CSV for a UTF-8 file that opens in Excel, Google Sheets or Numbers, or Copy for Excel / Sheets to paste it straight into a sheet. Type in Find in this list first to export only the matching tweets — a word, a hashtag, or a month such as “Sep 2025” — and click a column header to sort by date, likes or retweets; the CSV comes out in that order.

Why do followers and messages show account IDs instead of names?

Because that is how X writes them: follower.js and following.js hold an accountId and a userLink for each account, and direct messages hold a senderId and recipientId. The archive does not include the names or handles of other accounts. The userLink (twitter.com/intent/user?user_id=…) opens that account on X, and the tables show it as a clickable link.

What time zone are the dates in?

X writes every date in UTC, in the form “Sat Sep 19 21:14:02 +0000 2026” for tweets and “2026-09-19T21:14:02.000Z” for messages. The viewer shows them as written, so they can differ from the time you saw in the app by your time zone offset. The Summary charts by hour and weekday use the same UTC times.

Can I use it to delete tweets, or to move my posts to Bluesky or Mastodon?

Not directly: this page only shows the archive and exports lists from it. Tools that delete tweets in bulk or import them into Bluesky, Mastodon or Threads take the same ZIP as their input, so the archive you open here is the one you would give them. What this page adds is a way to look first — filter the Tweets tab to a year, a word or a hashtag, download the matching rows with their IDs and links as CSV, and know what is in the file before you hand it to anything that connects to your account. This page itself connects to nothing.

Can I see my likes and direct messages?

Yes. like.js becomes the Like tab with the ID, text and link of every tweet you liked. direct-messages.js and direct-messages-group.js become one tab per conversation, named by the conversation ID, with each message’s sender, recipient, time and text and any reactions; you can search a conversation by word and download it as CSV.