Turn your X archive into a PDF
X's archive comes with a page for browsing it, but the data files end in .js, not .json, so anything expecting JSON rejects them. Upload tweets.js or direct-messages.js and get a dated document back.
Your preview
This is your real file, parsed. Pay only if the result is right.
How it works.
Every data file this reads starts with a line like window.YTD.tweets.part0 = before the actual data. That single line is why JSON.parse fails and why people go looking for a tool. Strip it and the rest is ordinary JSON.
Request your archive
On X, open Settings, Your account, Download an archive of your data. Confirm your password and the code X sends you, then Request data. X says it may take a few days, and you download it as a zip.
Upload the file you want
Open the data folder. tweets.js is your posts, direct-messages.js is your DMs. Or drop the whole zip and both get picked up, your own side of any DM conversation gets labelled with your handle automatically, and any pictures whose filename matches get placed. If your archive calls the posts file tweet.js, upload that file on its own.
Check it, then download
You see it parsed first. Posts show their like and repost counts when there are any, and are labelled when they were replies.
Four ways to print it.
Every sample below is page one of a real PDF, made from the same sample as the one above by the same code that makes your file. Pick a style when you preview, and change it as often as you like.
Guides on this
Trust, with receipts.
No invented review scores, no badges, no “trusted by thousands”. Here is what is actually true, and you can check every line of it.
- You see the result before you payUpload, look at your own parsed file, then decide. No account, no card, no email required to get that far.
- Files are deleted within 7 daysYour upload, anything extracted from it, and the finished download. Automatically, on a schedule.
- A person answers the emailOne Time Tool is a small independent studio in Johannesburg, South Africa. Questions go to hello@onetimetool.com and a person replies, not a bot.
- Your card never touches this siteCheckout is hosted by Dodo Payments. We never see your card number.
- One payment, for this one jobThere is no subscription, no plan and nothing to cancel. Depending on where you are, checkout may show the price in your currency and add local VAT or sales tax.
- 7-day money backIf the output is not what you needed, email us and we refund it. No form to fill in.
Questions, answered.
Why will my JSON tools not open tweets.js?
My archive has tweets-part1.js, tweets-part2.js and so on.
Can it tell who sent each DM?
Are images included?
What happens to my file?
Do I need an account?
Other tools like this one.
More from Chats and messages.