X (Twitter) data viewer
Free X data viewer, no account: your Twitter archive’s tweets, likes, followers and direct messages become searchable tables — the file is never uploaded.
…or drop your X archive here — the ZIP as you downloaded it, the unzipped folder, or the .js files from its data folder.
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
- On X: Settings and privacy → Your account → Download an archive of your data, confirm your password, then Request archive (X Help, How to download your X archive).
- When X notifies you that the archive is ready, download the ZIP while logged in to X in the same browser.
- Drop the ZIP here or click Choose file; if it is unzipped, use Choose folder or drop the .js files (tweets.js, like.js…).
- Each data file gets a tab: filter it with Find in this list, click a column header to sort, then Download CSV or Copy for Excel / Sheets.
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, folders of pictures and videos, and a data folder with one file per list. Every list in every data file becomes its own tab, named after the file; 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. When the archive has both follower.js and following.js, two more tabs are computed on the page from those two files alone: “Don’t follow you back” and “You don’t follow back”.
Is my X archive uploaded?
No. The file is read by JavaScript in your browser, and a ZIP is unpacked there too, with the browser’s own decompression; only the data files are read — the pictures and videos inside stay untouched. The site’s host, GitHub Pages, logs the IP address of every visitor for security, like any web server — details on the privacy page.
Summary tab: counts, dates and busiest hours
The Summary tab draws two small charts for the largest dated list (usually your tweets) — 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.
“Your archive.html” or this page
The archive comes with its own viewer, “Your archive.html”, which X notes is for “a desktop web browser”; it shows your tweets and other data much as X does. This page is a Twitter archive viewer 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?
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; make sure the email address on your account is confirmed first. 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, then drop it 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 — which is why a plain JSON viewer rejects it; this page removes the prefix and reads the array. 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 whose table scrolls sideways; Find in this list filters the rows, and 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 and click Download CSV (a UTF-8 file for Excel, Google Sheets or Numbers) or Copy for Excel / Sheets; each row is one tweet with its date (created_at), full text, source app, like and retweet counts, reply information, hashtags, mentions and links. To export only some tweets, first type a word, a hashtag or a month such as “Sep 2025” in Find in this list. 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, direct messages hold a senderId and recipientId, and the names or handles of other accounts are not in the archive. 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?
In UTC: X writes every date as “Sat Sep 19 21:14:02 +0000 2026” (tweets) or “2026-09-19T21:14:02.000Z” (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, and connects to nothing. Tools that delete tweets in bulk or import them into Bluesky, Mastodon or Threads take the same ZIP as their input, so here you can see what is in it before you hand it to anything that connects to your account. Filter the Tweets tab to a year, a word or a hashtag and download the matching rows, with their IDs and links, as CSV.
Who doesn’t follow me back on X?
Open the “Don’t follow you back” tab: it lists every account in following.js that is not in follower.js, and “You don’t follow back” lists the reverse. The names are not in the file, so each row shows the accountId and its userLink (twitter.com/intent/user?user_id=…), which opens the profile on X in a new tab. The comparison is made on this page from the two files alone — nothing is fetched from X — and both tabs can be downloaded as CSV.
How do I search my old tweets?
Open the Tweets tab and type in Find in this list: a word, a hashtag, a handle you replied to, or a date fragment such as “2014” or “Mar 2019” (dates are written “Sat Sep 19 21:14:02 +0000 2026”). The filter covers every column of every tweet, including replies and retweets, and the status line counts the matches; click created_at to sort oldest first, and Download CSV keeps only the matching rows. Each row has the tweet’s id, so its address on X is x.com/your_handle/status/<id>.
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, text and any reactions — searchable by word and downloadable as CSV.