How to Export and Import Bluesky Muted Words
🔍 WiseChecker

How to Export and Import Bluesky Muted Words

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.json that 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

  1. Request your account data
    Open Bluesky in a web browser. Go to Settings > Account > Download my data. Click the Request data download button.
  2. 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.
  3. 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.
  4. Locate muted_words.json
    In the folder, find the file named muted_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.

  1. 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.
  2. Open the moderation settings page
    Go to Settings > Moderation > Muted Words. This page loads the current muted word list for the account.
  3. Open the browser’s developer tools
    Press F12 or Ctrl+Shift+I on Windows, or Cmd+Option+I on Mac. Click the Console tab.
  4. 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);
      });
    });
    
  5. 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.