Bulk Block
What it does
Section titled “What it does”Bulk Block takes a list of accounts, checks who each one is, and blocks or mutes the ones you choose in one run, which you can undo from History. It is useful for a list someone shared with you, a block list exported from another tool, or a CSV exported from BskyKit.
Before anything is written, you see every account it found, with badges that say whether you already block, mute, or follow it.
Before you start
Section titled “Before you start”- Sign in with your Bluesky account. See Signing In.
- Have the accounts ready as handles, DIDs, or bsky.app profile links, or as a CSV file with a
didcolumn, such as an export from My Blocks, Compare Lists, or the Starter Pack Converter. - To block everyone on a Starter Pack or list, use the Starter Pack Converter instead. To block an account’s followers, use Block Followers.
Step by step
Section titled “Step by step”- Open Bulk Block and sign in if asked.
- Put the accounts in Accounts to block or mute, one way or several:
- paste them, one per line or separated by commas;
- type a name or handle in Add an account, pick a suggestion or keep what you typed, and choose Add;
- choose a file under Or upload a file. Its text replaces the box and is checked at once.
- Choose Check accounts. A progress bar shows the lookup.
- The accounts found appear under the box, all selected except your own account. Notices under the box list entries that are not accounts, accounts that were not found, and Starter Pack or list links.
- In the side column, under For each account, choose Block or Mute. Accounts that the choice already covers are locked and leave the selection.
- Untick anyone you want to leave out, or use Select.
- Optional: choose Export to download the selected accounts first.
- Choose Block selected or Mute selected.
- In the confirmation, such as Block 25 accounts?, choose Block 25 accounts (the number matches your selection).
- The run starts, or waits behind runs already in the queue. Its progress shows above the button. When it ends, the accounts it took show as Already blocked or Already muted.
Options
Section titled “Options”What you can paste
Section titled “What you can paste”| Entry | Example |
|---|---|
| Handle | alice.bsky.social, @alice.bsky.social, example.com |
| DID | did:plc:… |
| Profile link | https://bsky.app/profile/alice.bsky.social |
| CSV | Any CSV with a header row that has a did column. Only that column is read. |
The same account listed twice is checked once. Files can be .csv or .txt.
Notices
Section titled “Notices”- … Starter Pack or list links: these belong in the converter. Open them in the converter opens them there.
- … entries are not a handle, DID, or profile link: lists the entries that were skipped.
- … accounts were not found: No Bluesky account answers to these. They may be misspelled, deleted, deactivated, or taken down.
Each notice lists up to 50 entries, then and … more.
Badges
Section titled “Badges”| Badge | Meaning |
|---|---|
| You | Your own account. It is never blocked or muted. |
| Already blocked | You block this account. Locked when Block is chosen. |
| Already muted | You mute this account. Locked when Mute is chosen. |
| You follow | You follow this account. It stays selected; untick it if you want to keep it. |
| Labeled | The account carries a moderation label. |
When an entry was not typed as the account’s handle, such as a DID or a link, the row adds from and what you typed.
For each account
Section titled “For each account”| Choice | What it does |
|---|---|
| Block (default) | Blocks each selected account. |
| Mute | Mutes each selected account. |
Select and Export
Section titled “Select and Export”Select offers Select all shown, Select none, and Invert shown. Export downloads
the selected accounts as bulk-block.csv or bulk-block.json, with the columns did, handle,
display_name, and reasons (Labeled for labeled accounts).
Size choice for large runs
Section titled “Size choice for large runs”When the selection is more than BskyKit suggests for a day, or more than your server allows in a day, the confirmation asks how much to do now: a part of the selection now, or Start the whole run. The rest stay selected for another day.
Clear empties the box, the file, and the accounts found. Runs already queued go on.
What gets changed
Section titled “What gets changed”- Block creates one block record (
app.bsky.graph.block) per account on your own Bluesky server. On Bluesky, blocks are public. - Mute asks your server to mute each account. Mutes are private and write no record.
- The accounts are looked up through your own server, which adds whether you block, mute, or follow each one.
- The box’s text is kept for this tab, so it survives the sign-in redirect and moving between pages. Signing out or switching account clears it. See Data on Your Device.
Undo the run from History:
- Undoing a block run deletes the blocks it made, for example Deletes the 25 blocks this run made.
- Undoing a mute run unmutes the accounts it muted.
See History & Undo.
Limits
Section titled “Limits”- Blocks and mutes count toward the 1,000 a day BskyKit suggests, together with follows, unfollows, unblocks, unmutes, and list subscription changes. The meter under the button shows Follows, blocks, and mutes in the last 24 hours.
- Each block costs three write points, so your server allows about 1,666 blocks an hour and 11,666 a day.
- Mutes use no write points. BskyKit sends one at a time, about four a second.
- When a run reaches a limit, it waits and carries on by itself while a BskyKit tab is open.
See Limits & Pacing.
Troubleshooting
Section titled “Troubleshooting”“Could not check these accounts”
Section titled ““Could not check these accounts””The lookup failed; the message under the title says why. Choose Check accounts again.
Accounts were not found
Section titled “Accounts were not found”The handle may be misspelled, or the account may have changed its handle, or been deleted, deactivated, or taken down. Look it up in Handle & DID Lookup, then paste its DID instead.
An account cannot be ticked
Section titled “An account cannot be ticked”It is locked: it is your own account, or the chosen output already covers it (Already blocked for Block, Already muted for Mute).
“Could not read the file”
Section titled ““Could not read the file””The browser could not open the file. Save it as plain text or CSV and try again, or paste its contents into the box.
An account now shows twice in My Blocks
Section titled “An account now shows twice in My Blocks”If you blocked the account somewhere else after Check accounts, the run blocks it again, and My Blocks shows both records. Select both there to unblock it completely.

