How to trim an mp3 at the start and end — free, no upload
- Step 1Drop the MP3 — The dropzone accepts MP3 (plus WAV, FLAC, M4A, OGG, Opus, video). FFmpeg 8.1 loads as WebAssembly and reads the MP3 locally — nothing is uploaded.
- Step 2Check the auto-filled End (s) — JAD reads the MP3's duration and sets End (s) to it and Start (s) to 0. From here you nudge each end inward.
- Step 3Set Start (s) to trim the front — Type the second where you want the audio to begin — e.g.
3.5to drop 3.5 s of dead air. FFmpeg seeks there with-ss. - Step 4Set End (s) to trim the back — Type the second where you want it to stop — e.g. set End a few seconds before the file length to cut a trailing count-off. JAD keeps
end − startseconds. - Step 5Turn on Lossless (stream-copy) to keep quality — For a no-re-encode MP3 trim, switch Lossless on. Since MP3 is stream-copy eligible and output stays MP3, JAD runs
-c copy. Cut points snap to the nearest MP3 frame (~30 ms) — fine for trimming silence. Leave it off only if you need a sample-exact edge. - Step 6Run and download the trimmed MP3 — The file downloads as
<name>-trimmed.mp3. The metrics line shows whether the copy engine ran (lossless) orlibmp3lame(re-encode). Done — nothing left your browser.
Lossless vs re-encode for MP3
MP3 is stream-copy eligible, so Lossless works directly. The choice is purely quality-preservation vs boundary precision.
| Lossless setting | FFmpeg run | Quality | Edge precision |
|---|---|---|---|
| On | -ss <s> -i in.mp3 -t <dur> -c copy -avoid_negative_ts make_zero out.mp3 | Byte-identical MP3 frames (no re-encode) | Snaps to nearest MP3 frame (~26–30 ms) |
| Off | -ss <s> -i in.mp3 -t <dur> -c:a libmp3lame out.mp3 | One re-encode generation | Sample-accurate |
What stays the same when you trim an MP3
The trimmer changes only the time range. It does not touch these properties — use the linked sibling tools if you need to change them.
| Property | Behaviour | Change it with |
|---|---|---|
| Format / container | Stays MP3 (no format dropdown) | A converter sibling, e.g. mp3-to-wav |
| Bitrate | Unchanged on copy; default libmp3lame on re-encode | bitrate-changer |
| Sample rate | Unchanged | sample-rate-converter |
| Loudness / volume | Unchanged | loudness-normalizer |
| ID3 tags / artwork | Not the trimmer's job | id3-editor |
MP3 size/length you can trim per tier
Real audio-family limits. MP3s are compressed, so the duration cap is usually the one you hit first.
| Tier | Max 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 | Unlimited |
Cookbook
Common MP3 trims, showing the exact Start/End and Lossless choices and the FFmpeg run each produces.
Drop 4 seconds of dead air off the front, lossless
A song MP3 with a long silent lead-in. Lossless on keeps the MP3 quality untouched.
Input: track.mp3 (218.0 s) Start (s): 4.0 End (s): 218.0 Lossless: on FFmpeg: -ss 4 -i track.mp3 -t 214 -c copy -avoid_negative_ts make_zero out.mp3 Output: track-trimmed.mp3 (no re-encode, ~214 s)
Trim both ends in one pass
Cut 3 s of intro silence and 5 s of trailing hiss from a 200 s file.
Input: voice-memo.mp3 (200.0 s) Start (s): 3.0 End (s): 195.0 Lossless: on FFmpeg: -ss 3 -i voice-memo.mp3 -t 192 -c copy -avoid_negative_ts make_zero out.mp3 Output: voice-memo-trimmed.mp3 (~192 s, lossless)
Sample-accurate MP3 edge (re-encode)
You're cutting on a beat and need the edge exact, not snapped to a frame. Lossless off re-encodes with libmp3lame.
Input: loop.mp3 (16.000 s) Start (s): 2.000 End (s): 4.000 Lossless: off FFmpeg: -ss 2 -i loop.mp3 -t 2 -c:a libmp3lame out.mp3 Output: loop-trimmed.mp3 (exact 2.000 s)
Lossless requested but you also need a new bitrate — split the jobs
The trimmer copies frames as-is (no bitrate change) on the lossless path. To both trim and change bitrate, trim first, then use the bitrate tool.
Step 1 (trim, lossless): Start 0 End 120 Lossless on → podcast-trimmed.mp3 (frames copied) Step 2 (change bitrate): Open [bitrate-changer](/audio-tools/bitrate-changer) on the trimmed file → re-encode to e.g. 128 kbps.
Make a 15-second ringtone-length MP3
Cut a 15-second hook to keep as an MP3 (convert to M4A separately if your phone needs it).
Input: anthem.mp3 (245.0 s) Start (s): 60.0 End (s): 75.0 Lossless: on FFmpeg: -ss 60 -i anthem.mp3 -t 15 -c copy -avoid_negative_ts make_zero out.mp3 Output: anthem-trimmed.mp3 (~15 s, lossless)
Edge cases and what actually happens
Lossless MP3 cut starts a frame late
By designMP3 frames are ~26 ms, so a -c copy cut snaps to the nearest frame boundary — up to ~30 ms drift. Perfect for trimming silence; if you're cutting precisely on a beat, turn Lossless off for a sample-accurate libmp3lame re-encode.
Tiny silent gap at the very start after a lossless trim
Expected-avoid_negative_ts make_zero keeps timestamps sane on copy, but the frame-snap can leave a few ms of the original lead-in. If a clean front is critical, re-encode (Lossless off) or add a short fade with fade-in-out.
Lossless requested but output wouldn't be MP3
Re-encodeLossless only applies when the output format equals the source. On the trimmer that's automatic for MP3-in/MP3-out, so this only matters if the input isn't MP3. Non-eligible inputs are re-encoded regardless of the toggle.
Stream-copy returns a 0-byte MP3
RecoveredRare for clean MP3s, but if a copy run yields an empty file, JAD removes it and re-runs the trim with libmp3lame. You get a valid MP3 either way; the metrics line shows which path was used.
End (s) set above the file length
ClampedThe End field maxes at the file duration, and kept length is end − start, so the trim simply runs to the end of the MP3. No error, no padding.
MP3 over 50 MB on Free
Tier limitA long, high-bitrate MP3 (e.g. 320 kbps over an hour) can exceed 50 MB. Pro raises the cap to 200 MB; Pro-media to 100 GB.
MP3 longer than 30 minutes on Free
Tier limitThe per-file duration cap is 30 min on Free. A long mix or full episode needs Pro (120 min) or Pro-media/Developer (unlimited).
Wanted lower bitrate AND a trim
Wrong toolThe lossless trim copies frames as-is and never changes bitrate. To shrink the file too, trim first, then re-encode with bitrate-changer.
Trying to splice two MP3s together
Wrong toolThe trimmer cuts one file; it doesn't join. To stitch MP3s end-to-end, use audio-merger. To split one MP3 into several, use audio-splitter.
Frequently asked questions
Can I trim an MP3 without losing quality?
Yes — turn on Lossless (stream-copy). Since MP3 is stream-copy eligible and the output stays MP3, JAD runs -c copy, copying the MP3 frames in your kept range with no re-encode. The audio is byte-for-byte the same as the source within the kept range.
What's the downside of the lossless path?
The cut snaps to the nearest MP3 frame boundary (~26–30 ms), so it isn't sample-exact. That's invisible when trimming dead air. If you must cut on an exact sample (e.g. a beat), turn Lossless off and JAD re-encodes with libmp3lame for a precise edge.
Does re-encoding hurt my MP3?
Re-encoding adds one lossy generation, which is usually inaudible at normal bitrates but isn't free. If quality preservation matters more than a sample-exact edge, use the lossless path instead.
Will the output stay an MP3?
Yes. The trimmer has no format selector, so MP3 in means MP3 out. To convert afterward, use a sibling like mp3-to-wav or mp3-to-flac.
Can I change the bitrate while trimming?
No. The lossless trim copies frames as-is, and the re-encode path uses libmp3lame at its default. To set a specific bitrate, trim first, then run the file through bitrate-changer.
Is my MP3 uploaded?
No. FFmpeg 8.1 runs in your browser via WebAssembly. The MP3 stays on your device; only a processed-count (if signed in) is stored, never the file.
How do I trim both the start and the end?
Set Start (s) to where you want it to begin and End (s) to where you want it to stop. Both are seconds with a 0.1-second step. End is pre-filled with the full length, so you just pull each end inward.
Is there a watermark on the trimmed MP3?
No — no watermark and no account needed for Free. The output is just your trimmed range.
Why is there a tiny bit of original silence left after a lossless cut?
The frame-snap of stream-copy can leave a few milliseconds at the start. For a perfectly clean front, re-encode (Lossless off) or add a quick fade with fade-in-out.
How big an MP3 can I trim for free?
Free: up to 50 MB and 30 minutes. Pro: 200 MB / 120 minutes / 10 files. Pro-media and Developer: 100 GB with unlimited duration.
Can I split an MP3 into multiple pieces here?
The trimmer keeps one range per run. For multiple pieces in one pass, use audio-splitter; to join pieces, use audio-merger.
Does it remove silence automatically?
No — you set the cut points manually. For automatic detection and removal of silent passages, use silence-stripper, which uses FFmpeg silence detection with a dB threshold and minimum duration.
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.