☢ USE ON YOUR OWN ACCOUNT ONLY

X–NUKE

Delete every post, reply and repost on your X account. Paste one script into your browser console, click once, walk away.

HOW IT WORKS GITHUB

Free. Open source. Runs entirely in your browser, nothing is sent anywhere.

POSTS REMAINING
5852
5,852posts wiped in the run this was built from
0failed deletions across ~5,850 API calls
5profile tabs it sweeps, because X splits them up
~800deletes per hour, X's own ceiling

THE PROBLEM

Deleting by hand is impossible

Three clicks per post. At 5,000 posts that is 15,000 clicks and several days of your life.

The paid tools cap you

The popular cleanup services delete around 50 posts a day on the free tier, then ask for a subscription and your account access.

You hand over your account

Those services need OAuth access to your account, forever, to do something your own browser can already do.

Other scripts stall out

Most read one timeline, run out after a few hundred, and tell you to refresh and start again. Forever.

HOW TO USE IT

Four steps. Takes about a minute to start.

  1. 1

    Open your profile 🪟

    In a desktop browser, logged in, go to:

    https://x.com/YOUR_HANDLE/all

    The /all tab matters. It is the fullest view of your posting history.

  2. 2

    Open the console 🧑‍💻

    Press F12 (Windows/Linux) or ⌘+⌥+J (Mac), then click the Console tab.

    First time pasting, Chrome makes you type allow pasting and hit Enter. That is Chrome protecting you from scams, and it is a good instinct. Read the script before you run it.

  3. 3

    Paste and run 💣

    Paste the whole script, press Enter, then click once anywhere on the page.

    That click lets it play a silent tone, which stops your browser from throttling the tab when you switch windows.

  4. 4

    Walk away 🚶

    It works through every tab on your profile by itself and stops when nothing is left. Keep the tab open and stop the machine from sleeping.

    XNUKE.status()see progress
    XNUKE.stop()stop it
    XNUKE.archive()clear community posts, see below

THE SCRIPT

x-nuke.js —
loading…
DOWNLOAD

WHY THIS ONE FINISHES

Five things that were learned the hard way, wiping a real 5,852 post account.

🗂️

It visits every tab

This is the big one. X splits your profile across five surfaces, and they are backed by different API operations. Point a script at one and it goes blind to the rest, then reports "no posts found" while thousands remain.

/all Posts Reposts Media Replies

Gotcha: /with_replies is the Replies tab, not "posts and replies". Once your replies are gone it renders empty while your posts are untouched. That one cost a day.

🕸️

Reads the API, not the screen

X recycles timeline elements as you scroll, so scraping the page catches only what is on screen right now. This hooks the network layer and harvests every id X sends, including the ones that scrolled away.

🏷️

Survives renamed endpoints

X renames its internal operations. The Posts tab moved to UserOriginalsTimeline, which silently broke matchers pinned to a fixed list. This matches the shape of a timeline operation instead.

⏳

Waits out rate limits exactly

X allows roughly 200 deletes per 15 minutes, enforced server side. No script can beat that. On a 429 this reads X's own reset header and sleeps precisely that long, then resumes.

🔋

Keeps working in a background tab

Browsers throttle hidden tabs to one timer tick a minute. Timers here run in a Web Worker and an inaudible tone keeps the tab active, so you can use other windows while it grinds.

WHAT TO EXPECT

🐢

It is slow, on purpose

About 800 deletes an hour. 5,000 posts is a 6 to 7 hour job, mostly spent asleep between rate limit windows. Start it and go do something else.

😴

Do not let the machine sleep

A suspended laptop stops the run. On Linux: systemd-inhibit --what=idle:sleep sleep 8h. On Mac: caffeinate -i.

🔢

The counter lies at the end

Your profile's post count is a cached number that lags days behind. It may read 5 while every tab is empty. Trust the tabs, not the counter.

🔁

Run it twice

If X throttles reads mid-run, some posts hide until it recovers. A second pass the next day catches stragglers.

THE ONE THING IT CANNOT FIND

Posts you made inside an X Community are invisible to every script, including this one.

They do not appear on any profile tab. They do not appear in search. They sit in their community's feed, mixed in with every other member's posts. Nothing running in your browser can list them, so no tool can delete what it cannot find.

They delete perfectly well once you know the id. The id is the only missing piece, and exactly one place has it: the archive X gives you on request.

1 Settings → Your account → Download an archive of your data
2 Wait for the email (hours), download and unzip it
3 Run the script, then type XNUKE.archive()
4 Pick data/community-tweet.js from the unzipped folder
WHERE YOUR POSTS HIDE
✔ Posts tab swept
✔ Replies tab swept
✔ Reposts tab swept
✔ Media tab swept
✔ /all tab swept
✖ Community posts archive only

Found the hard way: a wiped account still held 17 community posts that showed on no tab and in no search.

POWER MODE

Do not want to leave a console tab open for seven hours?

The repo ships a Python + Playwright driver. It opens its own browser profile, logs in once, injects the script, and babysits the whole thing: reinjecting after navigations, riding out rate limits, retrying dropped wifi, and writing a summary when it finishes.

pip install playwright && playwright install chrome python3 driver/x-nuke-driver.py

It never reads your saved passwords or cookie store. You log in yourself, in its window, once.

12:24 Round 1 on /all
12:24 found 117 · deleted 50
12:26 removed 117, failed 0
12:26 count 151 → 33
12:28 moving to reposts
12:40 account is clear █
☠️

READ THIS BEFORE YOU RUN IT

  • Deletion is permanent. There is no undo, no trash, no recovery. Nobody can get these back for you.
  • Want a copy first? Settings → Your account → Download an archive of your data. It takes hours to prepare. Wait for it before running this.
  • Your own account only. It uses your session and can only delete things you own. It cannot touch anyone else's posts.
  • Read the code. It is 400 lines with comments. Never paste something into a console because a website told you to, including this one.
  • Unofficial API. This uses X's internal endpoints, the same ones the website calls. They can change without notice and this may break.
✔Copied to clipboard