A fully local, safe, and robust tool to unlike all your likes on X (Twitter). No external APIs, no browser extensions, no third-party services. Just your machine and Playwright.
- 100% Local: Your credentials and data never leave your machine.
- Persistent Context: Reuses your real Chrome profile (no login needed every time).
- Human-like Pacing: Randomized delays to avoid account flags.
- Dry-run Mode: Test without making any actual changes.
- State Persistence: Keeps track of your progress across sessions.
- Rate-limit Aware: Automatically detects and pauses on rate-limit toasts.
- Node.js β₯ 20
- A desktop environment (for the first login)
git clone https://github.com/berktugates/x-unlike-all.git
cd x-unlike-all
npm installCopy .env.example to .env and fill in your details:
cp .env.example .envKey Configs:
X_USERNAME: Your X handle.DRY_RUN: Set totruefirst to see what would happen.HEADLESS: Set tofalse(recommended) to see the action.
- Set
HEADLESS=falsein.env. - Run the tool:
npm start. - If not logged in, log in to X manually in the opened browser window.
- Close the browser once logged in.
- The tool will automatically detect the session in future runs.
Once you are confident, set DRY_RUN=false and MAX_TOTAL_ACTIONS=5000 (or whatever your limit is) and let it run.
- Rate Limits: X has strict rate limits on unliking. If the tool detects a "Retry again" message, it will pause for 5 minutes.
- ToS: Automating interactions may violate X's Terms of Service. Use this at your own risk.
- Staff Engineer Tip: If you have thousands of likes, run this in small batches (e.g., 500 actions at a time).