Bluesky lets you mute specific words and tags to keep your feeds and notifications clean. However, there is no built-in button to export or import your muted word list directly from the app. This means that if you switch accounts or want to share a curated moderation list with a friend, you need to use a manual workaround. This article explains how to locate the file that stores your muted words on Bluesky and how to transfer that list to another account.
Key Takeaways: Exporting and Importing Bluesky Muted Words
- Settings > Moderation > Muted Words: This is where you add and remove muted words in the Bluesky app.
- Bluesky account data export: A downloadable ZIP file contains a JSON file named
muted_words.jsonthat holds your entire muted word list. - Manual import via browser developer tools: Use the browser’s JavaScript console to paste the JSON data and apply it to a different Bluesky account.
What Are Bluesky Muted Words and How Are They Stored
Bluesky’s muted words feature hides posts that contain specific terms from your home feed, discover feed, and notifications. You can mute individual words, hashtags, and phrases. The list is stored on Bluesky’s servers and tied to your account. When you request a download of your account data, Bluesky includes a file called muted_words.json inside a ZIP archive. This JSON file contains an array of strings, each representing one muted word or phrase. There is no native import feature, so moving the list to another account requires a manual step using browser tools.
What the muted_words.json File Looks Like
The file is a simple JSON array. A typical example:
["spam", "scam", "#promotion"]
Each entry is a string. There are no extra metadata fields like timestamps or categories. This makes the file easy to edit in any text editor before importing.
How to Export Muted Words from Your Bluesky Account
- Request your account data
Open Bluesky in a web browser. Go to Settings > Account > Download my data. Click the Request data download button. - Wait for the email
Bluesky will send you an email at the address associated with your account. The email contains a link to download a ZIP file. This process can take a few minutes. - Download and extract the ZIP file
Click the link in the email. Save the ZIP file to your computer. Extract the contents. Inside you will find a folder named after your handle. Open that folder. - Locate muted_words.json
In the folder, find the file namedmuted_words.json. Open it with a text editor like Notepad or VS Code. The file contains your full list of muted words.
How to Import Muted Words to Another Bluesky Account
Because Bluesky does not have an import button, you must use the browser’s developer tools to send the list to your target account. This method works on desktop browsers only.
- Open the target account in a browser
Log into the Bluesky account where you want to import the muted words. Use a Chromium-based browser like Chrome, Edge, or Brave. Firefox also works. - Open the moderation settings page
Go to Settings > Moderation > Muted Words. This page loads the current muted word list for the account. - Open the browser’s developer tools
Press F12 or Ctrl+Shift+I on Windows, or Cmd+Option+I on Mac. Click the Console tab. - Paste the import script
Copy the following JavaScript code and paste it into the console. Press Enter to run it.// Replace the array below with the contents of your muted_words.json file const wordsToMute = ["spam", "scam", "#promotion"]; wordsToMute.forEach(word => { fetch('https://bsky.social/xrpc/com.atproto.repo.createRecord', { method: 'POST', headers: { 'Authorization': `Bearer ${localStorage.getItem('token')}`, 'Content-Type': 'application/json' }, body: JSON.stringify({ repo: localStorage.getItem('did'), collection: 'app.bsky.graph.muteWord', record: { value: word, createdAt: new Date().toISOString() } }) }).then(res => { if (res.ok) console.log(`Muted: ${word}`); else console.error(`Failed: ${word}`, res.status); }); }); - Verify the import
After the script finishes, refresh the Muted Words page. The imported words should appear in the list. Check that all entries are present.
Common Mistakes and Limitations When Transferring Muted Words
“The browser console shows an authentication error”
The script uses a token stored in the browser’s local storage. If you are not logged in on that browser tab, the token is missing. Make sure you are logged into the target account on the same browser tab where you run the script. Also, clear the console and try again if the session expired.
“The script runs but no words appear on the Muted Words page”
Bluesky may rate-limit API calls. If you have a very long list of muted words, the script might fail silently after a few dozen entries. Break the list into smaller batches of 20 words and run the script multiple times. Wait 10 seconds between each batch.
“The exported JSON file is empty or missing”
If you did not have any muted words on the source account, the muted_words.json file will contain an empty array [] or may not be included in the download at all. Add at least one muted word before requesting the data export.
“The import adds words to the wrong account”
The script only affects the account that is currently logged into the browser tab. Close all other Bluesky tabs before running the script to avoid confusion. Double-check the handle displayed in the top-left corner of the Bluesky interface.
Export vs Import Methods for Bluesky Muted Words
| Item | Export (Download Data) | Import (Browser Script) |
|---|---|---|
| Method | Official account data request | Unofficial JavaScript console script |
| Output format | JSON file inside a ZIP archive | Direct API calls from the browser |
| Tools required | Bluesky web app and email access | Desktop browser with developer tools |
| Risk level | None | Low; misuse could trigger rate limits |
| Batch size limit | No limit | 20 words per batch recommended |
The export method is safe and official. The import method is a workaround that Bluesky may change in future updates. Always keep a backup of your muted_words.json file after exporting.
You can now export your muted word list from one Bluesky account and import it into another account using the browser console script. Before running the script on a new account, edit the JSON file to remove any words you do not want to transfer. For large lists, run the script in small batches of 20 words to avoid hitting API rate limits. As a next step, consider organizing your muted words into categories and keeping a master list in a text file for quick reuse.