How to get album art from mp3 — free browser tool
- Step 1Open the page in any browser — Go to /audio-tools/album-art-extractor in Chrome, Edge, Firefox, or Safari. The FFmpeg WebAssembly core downloads once and is cached — no system install.
- Step 2Drop the MP3 into the tab — Drag the file onto the dropzone or click to browse. The file is read into memory in the page; it is not uploaded anywhere.
- Step 3The browser runs FFmpeg locally — WebAssembly FFmpeg executes
-an -vcodec mjpeg -frames:v 1against the file in the tab. No options panel appears because the tool has none. - Step 4See the cover preview — The extracted JPEG renders inline. This is your confirmation that the page found the embedded
APICpicture and decoded it correctly. - Step 5Download to your device — Click Download to save
<track>-cover.jpgstraight to your downloads folder — the file was generated locally, so the download is instant. - Step 6No cleanup needed — Close the tab and the in-memory file is gone. Nothing was written server-side; nothing persists beyond the cover you chose to download.
Browser tool vs. the usual alternatives
Why the in-browser WebAssembly approach removes the install / CLI / upload friction.
| Approach | Install needed? | Upload? | Notes |
|---|---|---|---|
| JAD (this tool) | No | No | FFmpeg WebAssembly runs in the tab; output is <track>-cover.jpg |
| Mp3tag / MusicBee (desktop) | Yes | No | Powerful, but needs admin rights to install |
| FFmpeg command line | Yes | No | ffmpeg -i in.mp3 -an -vcodec mjpeg cover.jpg — needs the CLI installed and flag knowledge |
| Upload-a-file websites | No | Yes | Your MP3 leaves your device — a privacy concern for unreleased tracks |
What the in-browser engine does (fixed)
No options. The page runs one FFmpeg command for every MP3.
| Aspect | Behaviour |
|---|---|
| Engine | FFmpeg compiled to WebAssembly, running in the tab |
| Command | -an -vcodec mjpeg -frames:v 1 |
| Output | Single JPEG, native pixel dimensions |
| Multiple pictures | First only (front cover) |
| No art | No embedded album art found in this file. |
| Filename | <track>-cover.jpg |
Tier limits (audio family)
Per-file caps that apply to the in-browser extractor.
| Tier | Max file size | Max duration | Files at once |
|---|---|---|---|
| Free | 50 MB | 30 min | 1 |
| Pro | 200 MB | 120 min | 10 |
| Pro-media | 100 GB | Unlimited | 100 |
| Developer | 100 GB | Unlimited | 100 |
Cookbook
What the browser-resident FFmpeg engine produces — equivalent to the command line, no install.
The CLI command, run for you
If you had FFmpeg installed you'd type a command like the one below. The browser tool runs the WebAssembly equivalent automatically.
CLI you'd otherwise run: ffmpeg -i "Song.mp3" -an -vcodec mjpeg -frames:v 1 "Song-cover.jpg" Browser tool: drop Song.mp3 → same result, no install Output: Song-cover.jpg
Locked-down work laptop
On a managed machine where you can't install Mp3tag or FFmpeg, the browser tool still works because nothing is installed — it's all in the tab.
Environment: corporate Windows, no admin rights Action: open the page, drop Song.mp3 Result: Song-cover.jpg downloaded — no software installed
ChromeOS / tablet
WebAssembly runs in mobile and ChromeOS browsers, so you can extract a cover on devices that have no desktop app ecosystem.
Device: Chromebook / iPad Safari Action: open page → drop the MP3 Result: in-tab extraction → Song-cover.jpg
Confirming the engine found the cover
The inline preview is your signal that the WebAssembly FFmpeg decoded the embedded picture. No preview + an error means no APIC frame.
Drop Song.mp3 → preview shows the cover → Download Drop NoArt.mp3 → "No embedded album art found in this file."
Nothing uploaded — verifiable
Open your browser's network tab while extracting: you'll see the FFmpeg core load once, then no request carrying your MP3. The file stays local.
Network tab during extraction: GET /ffmpeg-core/... (engine, cached after first load) (no POST of Song.mp3 — extraction is local)
Edge cases and what actually happens
MP3 lacks an APIC frame
No artworkIf the ID3 tag has no embedded picture, the in-browser FFmpeg produces a 0-byte file and the page reports No embedded album art found in this file. Add a cover with the ID3 tag editor (also browser-based) and re-extract if you want a standalone copy.
First page load is slow
ExpectedThe first extraction downloads the FFmpeg WebAssembly core (a few MB). After that it's cached, so subsequent extractions in the same browser are fast. This one-time cost is the price of running locally with no install.
Very old browser
UnsupportedWebAssembly is required. Any browser from the last several years (Chrome, Edge, Firefox, Safari) supports it, but a very old browser may not load the engine. Update the browser to extract.
Embedded PNG cover
Re-encoded to JPEGThe fixed mjpeg encoder always outputs JPEG, so a PNG APIC is re-encoded. Pixel dimensions are preserved; transparency is flattened. There's no setting to keep PNG — by design, output is uniform JPEG.
Two embedded pictures
First picture only-frames:v 1 extracts only the first picture (front cover). A second picture (back cover) isn't reachable through this tool.
DRM-protected MP3 surrogate
Cannot processIf the file is actually a DRM-protected container (renamed or from a streaming service), the browser FFmpeg can't demux it and extraction fails. Only DRM-free MP3s work.
File exceeds the tier limit
RejectedFree caps the file at 50 MB / 30 min. A long mix or podcast can exceed the duration limit and be blocked. Pro raises it to 200 MB / 120 min; the extraction still runs in the browser at those sizes.
You expected the original byte-identical image
By designThe browser engine re-encodes the picture with mjpeg rather than copying raw bytes — the same as the desktop command above. Dimensions match; the JPEG compression is FFmpeg's. Byte-for-byte extraction isn't offered.
Frequently asked questions
Do I need to install anything?
No. The extractor runs in the browser tab via FFmpeg compiled to WebAssembly. There's no desktop app, no FFmpeg CLI, and no browser extension to install. It works on any modern browser, including on machines where you don't have admin rights to install software.
Is this the same as running FFmpeg on the command line?
Effectively yes — it's the same FFmpeg, compiled to WebAssembly, running the equivalent of ffmpeg -i in.mp3 -an -vcodec mjpeg -frames:v 1 cover.jpg. You get the same picture extraction without installing the CLI or remembering the flags.
Is my MP3 uploaded to a server?
No. The file is read into the page and processed locally by the WebAssembly engine. You can confirm in your browser's network tab: the FFmpeg core loads once (and is cached), but your MP3 is never POSTed anywhere. This is the key difference from upload-a-file websites.
Why is the first extraction slower?
The first run downloads the FFmpeg WebAssembly core (a few MB), which the browser then caches. Subsequent extractions in the same browser are fast. It's a one-time cost for running entirely on your device.
Does it work on a Chromebook or tablet?
Yes. WebAssembly runs in ChromeOS and mobile browsers, so you can extract a cover on devices with no desktop app ecosystem. Drop the MP3 and download the resulting <track>-cover.jpg.
Are there any options to set?
No. The tool has no options — no format, resolution, or quality controls. It runs one fixed command and outputs a single JPEG at the embedded image's native dimensions. That's deliberate: it's a one-click utility.
What if the MP3 has no cover?
You'll see No embedded album art found in this file. Use the ID3 tag editor — also browser-based — to embed a cover, then re-extract if you want a standalone copy.
What format and size is the output?
Always a JPEG named <track>-cover.jpg, at the same pixel dimensions as the embedded picture. A PNG cover is re-encoded to JPEG (transparency flattened); resolution is never changed.
Which browsers are supported?
Any modern browser with WebAssembly: Chrome, Edge, Firefox, and Safari on Windows, macOS, Linux, and ChromeOS. A very old browser without WebAssembly support won't load the engine — update it to extract.
Can I get the back cover too?
No. The engine extracts only the first embedded picture (-frames:v 1), conventionally the front cover. A second embedded picture isn't accessible through this tool.
Does it modify my MP3?
No. Extraction is read-only — the file is decoded in memory to pull the picture and a new JPEG is written. Your original MP3 is untouched. Closing the tab clears the in-memory copy.
How big a file can I extract from?
Free allows one MP3 up to 50 MB / 30 min. Pro raises it to 200 MB / 120 min with 10 files at once; Pro-media removes the duration limit. Extraction runs in the browser at all these sizes.
Privacy first
Every JAD Audio tool runs entirely in your browser via FFmpeg (WebAssembly) and RNNoise. Your audio files never leave your device — verified by zero outbound network requests during processing.