Skip to content


Subversion checkout URL

You can clone with
Download ZIP
A small Ruby script for erasing your shame on Twitter (i.e., your oldest tweets).
Pull request Compare This branch is 20 commits ahead, 2 commits behind benjaminjackson:master.
Fetching latest commit...
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Tweet Eraser

The ability to easily download our entire tweet archive from Twitter also gives us the ability to identify and erase tweets from our past en masse. If you're the type of person who rips up your old poems this script is for you.

There is no undo for this script. Weigh your decision carefully before erasing your tweets. You will, of course, still have your local archive after deleting your tweets on Twitter.




Set Up A Twitter App

First, you'll have to set up a Twitter app on the developer portal and generate an OAuth key.

  • Visit the Twitter Developer Apps page and create a new app. Fill out only the required fields.

  • Go to the Settings tab for your app, scroll down, and change Application Type to Read and Write, then click Update this Twitter application's settings.

  • Go to the Details tab, scroll down, and click Create my access token. (Or Recreate my access token if you already created one.) When you refresh, you should see Access Level: Read and Write after your access token and secret.

Set up the script

  • Clone this repo.
  • cd into the repo directory.
  • Install the bundled gems locally:
bundle install --path vendor
  • Configure the script with your Twitter app authentication information. Edit lib/config.rb and add your consumer key, consumer secret, access token, and access token secret from

Delete Your Old Tweets

  • Download your tweet archive from Twitter and unzip it. Note the path to the newly unzipped directory.
  • Using bundler, run the erase_tweets script from this repo, pointing it to the path of your unzipped tweet archive directory:
bundle exec bin/erase_tweets /path/to/tweet/archive/dir
Something went wrong with that request. Please try again.