A simple browser extension to share your currently playing Bandcamp track — complete with clickable link and auto-generated artwork/player preview — directly to Mastodon or Bluesky with the click of a button. No scraping hacks, no complicated APIs, and no CORS headaches. Just a simple access token/password and music, your way.
- Manual posting: Click "Post Now" only when you want to share — no spam.
- Link sharing: Posts include a direct link to the Bandcamp track or album, which Mastodon/Bluesky will expand with artwork and a player.
- Privacy friendly: No credentials stored except your access token/password (saved locally in your browser).
- Open source: Tweak, remix, or fork as you wish.
One unified extension for Chrome/Chromium, Firefox/Gecko, and Safari — Mastodon + Bluesky in one popup (Manifest V3 on Chrome/Safari, V2 on Firefox). You pick the network in the popup; no separate installs.
Built from source via npm run build → dist/{chrome,firefox,safari}/ (or grab a ready-made zip from Releases).
To use the Mastodon integration, generate an access token from your Mastodon account. This token allows the extension to post on your behalf.
- Log in to your Mastodon account on your instance (e.g.,
mastodon.social). - Go to Preferences > Development.
- Click "New Application".
- Give your application a Name (e.g., "Bandcamp Now Playing").
- Under Application scopes, check
write:statuses. - Click "Submit".
- Click on your new application in the list.
- Copy the "Your access token" and paste it into the extension's settings.
To use the Bluesky integration, create an app password from your Bluesky account. This allows the extension to post on your behalf.
- Log in to your Bluesky account at bsky.app.
- Go to Settings > App Passwords.
- Click "Add App Password".
- Give it a Name (e.g., "Bandcamp Now Playing").
- Click "Create".
- Copy the generated app password and paste it into the extension's settings (along with your handle, e.g.,
user.bsky.social).
Download ready-to-install files from the Releases page on GitHub.
- Download the file for your browser from the latest release (
v1.2or newer):- Chrome:
bandcamp-now-playing-chrome.zip - Firefox:
bandcamp-now-playing-firefox.zip(or.xpi) - Safari:
bandcamp-now-playing-safari.zip
- Chrome:
- For Chrome:
- Go to
chrome://extensions/. - Enable "Developer mode".
- Drag and drop the
.zipfile onto the page (or use "Load unpacked" after unzipping).
- Go to
- For Firefox:
- Go to
about:addons. - Click the gear icon > "Install Add-on From File...".
- Select the
.zip/.xpifile.
- Go to
- For Safari:
- Unzip the
.zipfile. - Load as unpacked extension via Safari Extension Builder, or run
xcrun safari-web-extension-converterondist/safari/and open in Xcode (see Developer Installation below).
- Unzip the
- Click the extension icon, pick Mastodon or Bluesky at the top of the popup, and enter your credentials.
- Start playing a track on Bandcamp and enjoy.
- Clone this repo and build it —
dist/is gitignored, so you must build on every machine:(Zero extra deps; just Node. Build verification runsgit clone git@codeberg.org:binbot/Bandcamp-Now-Playing.git npm run build # or npm run build after every git pull — emits dist/{chrome,firefox,safari}/node --check+ marker checks.)
- Go to
chrome://extensions/in Chrome. - Enable "Developer mode" (top right).
- Click "Load unpacked" and select
dist/chrome/. - Click the extension icon, pick Mastodon or Bluesky at the top of the popup, and enter your credentials.
- Open a Bandcamp album or track, play a song, and click "Post Now" — drafts persist, the button shows live character counts (Bluesky 300, Mastodon 500/instance), and blocks over-limit posts.
- Open Firefox.
- Go to
about:debugging#/runtime/this-firefox. - Click "Load Temporary Add-on…".
- Select
dist/firefox/manifest.json. - Pick the network in the popup, enter creds, and post.
Safari still uses Manifest V3 but requires Xcode conversion:
- Prerequisites: a Mac with Xcode (Apple Developer Program for distribution only; local testing works without).
- Convert the built extension:
xcrun safari-web-extension-converter dist/safari/ - Build and Run in Xcode: open the generated Xcode project, select "My Mac", Run.
- Enable: Safari → Preferences → Advanced → "Show Develop menu" → Develop → "Allow Unsigned Extensions" → Preferences → Extensions → enable "Bandcamp Now Playing".
- Pick a network, enter creds, and post.
The extension reads the currently playing track and artist from Bandcamp's player bar. When you click "Post Now," it sends a status to your Mastodon/Bluesky account with the track info, hashtags, and a link. The platform's link preview automatically displays the album art and a player.
- Create and publish proper Chrome Web Store extensions.
- Create and publish proper Firefox Add-ons (AMO) extensions.
- Create and publish proper Safari App Store extensions.
- Add support for more music sites (SoundCloud, YouTube Music, etc).
- Option to auto-post on track change.
- Customizable post message templates.
- Improved error handling and user feedback in the popup.
- Add localization/multi-language support.
MIT — do whatever you like, just do not blame me if you accidentally share your secret ambient playlist.
- Bandcamp for the music.
- Mastodon for the fediverse.
- Bluesky for the social network.
- Icons from favicon.io https://favicon.io/ and Twemoji.
A simple, friendly suggestion:
- Create a 128x128 PNG with a music note and the Bandcamp "BC" waveform logo, or overlay a music note on Mastodon's "M" or Bluesky's butterfly logo.
- favicon.io is great for quick icons, or try Canva for a custom look.
- Save as
icon16.png,icon32.png,icon48.png, andicon128.pngin your extension folder.
Questions? Ideas? PRs? File an issue or fork away. Enjoy sharing your Bandcamp discoveries on Mastodon or Bluesky.