Block Together

A web app intended to help cope with harassment and abuse on Twitter.

Six years ago, I launched Block Together, a tool to defend against abuse on Twitter by automating blocks. I wanted to show a way that Twitter could give users the ability to defend their communities against abuse. I've shown that, and learned some things along the way, but Block Together has gotten too big to maintain on a volunteer basis, and it's ultimately trying to fill a need that Twitter should be fulfilling on the official platform. I've turned off new signups for Block Together. At the end of July, I'll turn off delivery of blocks on existing block list subscriptions. I will try to keep delivery of unblocks enabled for several months after that.

The idea behind Block Together has been this: Relying on the platform owners to make one global set of rules and enforce them fairly and effectively for everyone was never going to be sufficient. Similarly, relying on individual people to block abusers after the fact ignores both serial abusers and abusers who target a whole group of people.

With block lists, communities could define their own boundaries, much as old-school forums often did by moderating posts and kicking out people who repeatedly violated the local norms. If a given community subscribes to a shared block list, people who try to intrude on the community with abuse could be quickly and easily blocked.

My hope, originally, was that Twitter would see the value in this mechanism and adopt it-- maybe even make it better! In fact, Twitter eventually did implement something similar: import / export block lists. I gave lots of feedback while that feature was in development, based on my experience with Block Together. I wanted it to work, since it would mean I could retire Block Together happy with the knowledge that a better option was built into Twitter. Unfortunately, Twitter's version was less usable than Block Together. The design was built around the concept of exporting a CSV containing all your blocks, so it left users to figure out how and where to share that CSV with their community. And because it was a manual step for other people to import that CSV, you would need to download and manually import someone's block list every single day to get updates!

Twitter's import / export block list feature remained relatively unknown, and as far as I could tell, relatively unused. It quietly disappeared sometime back and is "currently unavailable."

Block Together was always meant to be a proof of concept-- I never imagined one person, working through Twitter's API, could make a meaningful dent in abuse at Twitter's scale. However, as time went on, people kept finding it useful, and it kept seeming like just a little incremental work to push it along. But that work builds up over time and it no longer feels like a worthwhile tradeoff. Block Together is in an awkward middle ground - too big for one person to maintain alone, but too small to handle abuse at the full scale of Twitter. Only Twitter the company can reasonably do that.

I plan to keep the domain name even once the service is shut down. People have put trust in the service and I don't want that trust to be abused by domain squatters. If you want to spin up a service running the same code on a different domain name, you are more than welcome to. I'll even provide some help. I just ask that you make it clear it's a different service, run by someone else.

If you want to stop using Block Together, you can go to the Applications page of your Twitter account settings and revoke the app's access. Block Together will deactivate your account within a day or so, and will delete all data associated with your account within 30 days. Note that if you run a block list, this will not cause your subscribers to unblock everyone on your lists. If you want to do that, you will need to unblock everyone before your account data is deleted. If you've already revoked Block Together's access, you can re-login to Block Together within 30 days and you'll have an opportunity to do any unblocks you'd like.

Alternatives considered:

Through Block Together's life, people have suggested I start a Patreon or otherwise collect donations. I've thought about it, but (a) I'm very skeptical that I can raise enough to cover even the server costs (currently about $430/month on EC2, mainly disk cost for the database), (b) raising money for the service would make me feel that much more stressed when it goes down. Also, it's not simply a matter of money: Block Together's database is currently 1.2 TB. It needs a major refactoring in order to handle more users.

I've also thought about finding another person who would like to take on maintenance of the service. Since Block Together requires a lot of trust from its users, I wouldn't feel comfortable giving control of its API access tokens to anyone I didn't know and personally trust very deeply.

I'm sad to be putting this project behind me, and disappointed that Twitter hasn't picked up this functionality and improved on it, but I am happy to have helped protect people against some of the abuse on Twitter, for a little while.

Jacob Hoffman-Andrews, June 16 2020

303k registered users.
198k users subscribing to at least one list.
4.5k users offering a list, with at least one subscriber.
3.7B actions.

Already using Block Together?


Block Together is designed to reduce the burden of blocking when many accounts are attacking you, or when a few accounts are attacking many people in your community. It uses the Twitter API. If you choose to share your list of blocks, your friends can subscribe to your list so that when you block an account, they block that account automatically. You can also use Block Together without sharing your blocks with anyone.

Protections from incorrect blocks

Block Together will never block an account you follow, even if it meets one of the above criteria.

Propagating forgiveness

If you subscribe to a block list, you will block every account currently on that list. Later, if the author of that block list blocks more accounts, you will automatically block those as well. If the author of the list unblocks an account, you will automatically unblock it too, but only if you originally blocked it through the shared list. If you blocked the account independently, it will not be unblocked.

Sharing your block list

If you choose to share your block list with friends, Block Together will create an unlisted, unguessable URL to access your block list. You can share the URL by email or Direct Message if you want to keep it private among friends, or you can tweet the URL if you are okay sharing your block list publicly. You can always disable sharing from the Settings page. If you do so, the URL to access your blocks will be deleted forever. If you choose to share again in the future, you will create a new, different URL. If you choose to disable sharing, you need to separately remove any subscribers you no longer want, on the Subscriptions page.

Many people find that they don't want to share their block list because they find there are accounts on it they don't remember blocking, or that aren't particularly abusive. This is partly because Twitter, for a long time, did not offer Mute. So if you wanted to stop seeing a merely unfunny account that gets frequently retweeted, blocking used to be the only fix. Now Twitter offers Mute, so you can Mute those accounts instead. Block Together makes it easy to remove them from your shared block list with the 'Unblock and Mute' button on the My Blocks page.


Block Together only blocks accounts, it never reports them for spam or abuse. Adding an account to your shared block list will not cause that account to be suspended. People whose accounts get suspended can contact Twitter Support for more information. An account that uses a block list is not hidden or protected in any way from blocks, abuse reports, or suspensions.


The largest size of a shared block list is 70,000 accounts. If your block list is larger than this, new people will not be able to subscribe to it. If you remove some accounts from your block list to get it below 70,000, people will be able to subscribe to it again. Also, your block list won't be updated at all past 125,000 blocks.

Make Block Together better

Code is here. To get involved: