How to video audio extractor — zero upload, browser-based
- Step 1Open the extractor — Go to Video → MP3. The engine (FFmpeg-WASM) downloads into the page once. After that single load, the conversion itself needs no network connection.
- Step 2Optionally go offline to prove privacy — Once the page has loaded, you can disconnect from Wi-Fi/network. The extractor still works — definitive proof that your recording is processed locally and not sent anywhere. Reconnect afterwards to download in the usual way.
- Step 3Drop the sensitive recording — Drag your video onto the dropzone. It's read with the browser's local File API into memory — no transfer begins. FFmpeg probes it and shows duration, sample rate, and channels. Nothing leaves the device.
- Step 4Choose the bitrate — Use the Bitrate dropdown (the only control): 320 kbps for music, 192 kbps default, 128 kbps for talk, 64 kbps for a single voice. The choice maps directly to FFmpeg's
-b:a. No other options are exposed. - Step 5Extract locally — Click the action button. FFmpeg decodes the audio and re-encodes MP3 on your CPU. Processing time scales with length (WASM audio path is single-threaded) — but the file stays in the tab's memory throughout.
- Step 6Download — confirm nothing was sent — The MP3 is written to your downloads. There was no upload progress bar because there was no upload. For extra assurance, check your browser's network panel — you'll see no request carrying the file payload.
How this differs from upload-based converters
The privacy distinction that matters for confidential recordings. JAD's audio extraction has no server leg at all.
| Aspect | Typical upload-based site | JAD video audio extractor |
|---|---|---|
| Where conversion runs | Their server | Your browser (FFmpeg-WASM, your CPU) |
| Is the file uploaded? | Yes — a copy reaches their infrastructure | No — read with the local File API only |
| Server-side API | Yes (that's how it works) | None — the audio family has no /api/v1 route or runner |
| Works offline after load? | No — needs the server | Yes — disconnect and it still converts |
| Retention risk | Depends on their policy/logs | Nothing to retain; nothing ever left your device |
Bitrate options and tier limits
The single Bitrate dropdown, plus the real per-tier size and duration caps for the audio family. Everything below runs locally.
| Setting / tier | Value | Note |
|---|---|---|
| Bitrate dropdown | 320 / 256 / 192 (default) / 128 / 64 kbps | Constant bitrate via libmp3lame; no VBR option |
| Free tier | 50 MB, 30 min, 1 file | Size and duration checked independently |
| Pro | 200 MB, 120 min, 10 files | For longer sensitive sessions |
| Pro+Media | 100 GB, unlimited duration, 100 files | All-day recordings, still 100% local |
| Developer | 100 GB, unlimited duration | Same local-only processing |
Cookbook
Privacy-sensitive extraction scenarios and how to verify the no-upload guarantee for yourself. The mechanics are identical to any video→MP3 job — the point is where it runs.
NDA-bound product demo recording
An unreleased product demo was screen-recorded for internal review. The audio is needed for a transcript, but the file can't be uploaded to any third party. Local extraction is the only compliant path.
Source: demo_confidential.mp4 (AAC, internal-only) Bitrate dropdown: 128 kbps · podcast Process: FFmpeg-WASM in-browser -i demo_confidential.mp4 -map 0:a -c:a libmp3lame -b:a 128k ... Upload: NONE. No /api/v1 audio endpoint exists. Output: demo_confidential.mp3 -> your Downloads folder.
Prove it: extract with the network off
The strongest verification. Load the page, then disconnect from the network entirely. The extraction still completes — impossible if the file were being uploaded.
1. Open /audio-tools/video-to-mp3 (engine loads) 2. Turn off Wi-Fi / pull the ethernet cable 3. Drop the video, pick a bitrate, click extract 4. Conversion completes; MP3 is produced => The file was never sent anywhere. Reconnect to continue.
Legal / HR recording with a chain-of-custody concern
A recorded HR interview must not be copied to external servers. Extracting the audio locally keeps the file within the organisation's control end to end.
Source: hr_interview.mov (AAC stereo) Bitrate dropdown: 64 kbps · voice (small, transcription-ready) No upload, no third-party copy, no server logs. The MP3 stays on the company device.
Unreleased music cut from a rough-edit video
A musician has a rough video edit containing an unreleased track. Leaking it via an upload-based converter is a real risk. Local extraction at 320 kbps keeps the demo private.
Source: rough_cut.mp4 (AAC, unreleased track) Bitrate dropdown: 320 kbps · best FFmpeg decodes + re-encodes locally; nothing uploads. Output: rough_cut.mp3 — the track never left the device.
Verify in the browser network panel
For the technically minded: open DevTools → Network before extracting. You'll see the one-time engine load, but no request carrying your file's bytes.
DevTools -> Network tab -> clear -> drop file -> extract Observed: no POST/PUT carrying the video payload. (Only local processing + the final download blob.) This is consistent with there being no server-side audio API.
Edge cases and what actually happens
Truly no upload — verified by offline operation
By designBecause the engine is FFmpeg-WASM and there is no server-side audio API, the extractor works with the network disconnected after the page loads. This is the strongest possible proof that your recording is processed locally and never transmitted. If a conversion ever required the network, that claim would be false — it doesn't.
Recording exceeds free 50 MB / 30-minute limit
Tier limitLong confidential sessions often exceed the Free cap. Pro raises it to 200 MB / 120 minutes; Pro+Media to 100 GB / unlimited duration. All tiers process locally — paying a tier doesn't change where the file lives; it only raises the size/duration ceiling. Size and duration are independent checks.
Large local file is bounded by your device's RAM
Resource limitSince everything runs in the tab, available memory is the real ceiling beyond tier limits. A multi-gigabyte recording can exhaust RAM on a light device even within Pro+Media. Use a desktop browser with more memory, close other tabs, or split the file first. The trade-off for total privacy is using your own hardware.
Output MP3 is one generation lossier than the source
ExpectedThe source audio (AAC/Opus/etc.) is decoded and re-encoded to MP3 — one lossy generation. This is true of any MP3 extraction. For a lossless local extract, use the video-to-wav extractor, which also runs entirely in-browser with no upload.
DRM-protected source can't be decoded
RejectFFmpeg can't decode DRM-encrypted streams. A protected purchase fails locally just as it would anywhere. This tool only processes unprotected files you have the right to extract from — the privacy model doesn't change the DRM reality.
Video has multiple audio tracks
First track used-map 0:a takes the default/first audio stream — there's no track-picker. For a confidential MKV with several tracks, the default track is extracted. If you need a specific track, see the MKV→MP3 guide; it covers multi-track behaviour.
Video has no audio track
RejectIf the source has no audio stream (silent screen capture), -map 0:a finds nothing and the job fails. Confirm the recording plays with sound before extracting.
Browser tab closed mid-extraction
By designBecause processing is in-memory and local, closing the tab discards the in-progress job and the loaded file — nothing persists server-side because nothing ever went there. Re-open and re-drop the file to start over. There's no half-uploaded copy anywhere.
Corporate network blocks the one-time engine download
Load failureThe only network use is the initial FFmpeg-WASM download when the page loads. A locked-down network that blocks it will prevent the page from initialising. Once loaded (even on a different network), it runs offline. This is the single point where connectivity matters.
Tags and cover art are preserved in the local MP3
Carried overEven though nothing is uploaded, -map_metadata 0 and attached_pic still carry the source's tags and any embedded cover image into the resulting MP3's ID3v2.3 header — all done locally. Strip metadata afterward if the tags themselves are sensitive.
Frequently asked questions
Is my video really not uploaded?
Correct — it is never uploaded. The extractor runs FFmpeg 8.1 compiled to WebAssembly entirely in your browser, reading the file with the local File API. Crucially, the audio tool family has no server-side API (no /api/v1 route, no runner), so there is nowhere to upload to even in principle.
How can I verify the no-upload claim myself?
Two ways. First, after the page loads, disconnect from the network — the extraction still completes, which is impossible if the file were being uploaded. Second, open DevTools → Network and watch: you'll see the one-time engine load but no request carrying your file's bytes.
Does paying for Pro change where my file is processed?
No. Every tier processes locally in your browser. A tier only raises the size and duration limits (Pro: 200 MB / 120 min; Pro+Media: 100 GB / unlimited). The privacy model is identical on Free and paid tiers — nothing is ever uploaded.
What's the largest sensitive recording I can extract?
Free: 50 MB / 30 minutes. Pro: 200 MB / 120 minutes. Pro+Media and Developer: up to 100 GB with unlimited duration. Beyond tier limits, your device's RAM is the practical ceiling, since the work is local.
Is anything logged or retained on your servers?
The file content never reaches a server, so there's nothing to log or retain about it. There's no audio upload API at all. The only thing recorded server-side (for signed-in dashboard stats) is a simple processed-count with no file content — the same minimal counter used across JAD tools.
Can I extract audio with my Wi-Fi turned off?
Yes — once the page has loaded the engine, you can disconnect entirely and the extraction still works. That's the clearest demonstration that the conversion is local. You'll need to reconnect only to download in the normal way (or save the produced blob).
Is the extracted MP3 lossless?
No — MP3 is lossy and the source is re-encoded once with libmp3lame. For a lossless local extract, use the video-to-wav extractor, which also runs fully in-browser with zero upload.
Does it work on confidential MKV or MOV files, not just MP4?
Yes — MP4, MOV, MKV, WebM, and AVI all work locally. The container's audio codec (AAC, Opus, Vorbis, AC3, FLAC) is decoded and re-encoded to MP3. See the MKV→MP3 guide for multi-track containers.
Will tags or metadata leak anything?
Tags and cover art are carried into the local MP3 via -map_metadata 0 and attached_pic — all done on your device. Nothing is transmitted. If the tags themselves contain sensitive info, strip or edit them afterward (for example with an ID3 editor) before sharing the file.
What if my corporate network blocks the page from loading?
The only network requirement is the one-time engine download when the page first loads. If a locked-down network blocks it, the page won't initialise. Load it once on a permitted connection; afterward it runs offline, so you can extract sensitive files even on an air-gapped session.
Can I select which audio track to extract from a confidential video?
Not in this UI — -map 0:a extracts the default/first track and there's a single Bitrate dropdown only. For multi-track files, the default track is used. The MKV→MP3 guide explains multi-track behaviour.
Why is local extraction sometimes slower than an upload site?
An upload site uses its own (often powerful) servers; here the work runs on your CPU via single-threaded WASM. That's the deliberate trade: your file never leaves the device. A modern desktop browser keeps it fast for typical recordings; very long files take a few minutes.
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.