How to extract a precise audio segment by timestamp
- Step 1Drop the long recording — Accepts MP3, WAV, FLAC, M4A, OGG, Opus, or video. FFmpeg 8.1 loads as WebAssembly and reads the file locally — nothing is uploaded.
- Step 2Confirm the file duration — On load, JAD reads the duration and pre-fills End (s) with it. Use this to sanity-check your timecodes are within range before you change them.
- Step 3Enter Start (s) from your timecode — Type the segment's start in seconds (convert from mm:ss if needed: 41:05 → 2465). FFmpeg seeks there with
-ss. Step is 0.1 s, so you can specify tenths. - Step 4Enter End (s) from your timecode — Type the segment's end in seconds. JAD computes
end − startand passes it as-t. Make sure End is greater than Start; the kept length is floored at 0.01 s. - Step 5Pick accuracy: Lossless off for exact, on for instant — For a sample-accurate boundary (the usual reason to extract by timecode), leave Lossless off — JAD re-encodes at the source format. For a quick pull where ~30 ms drift is fine, turn it on for a
-c copyextract. - Step 6Run and download the segment — The segment downloads with a
-trimmedsuffix in the source format. The metrics line confirms whether a copy or re-encode ran. Re-run with new timecodes for the next segment.
Accuracy vs speed: which Lossless setting
The single most important decision when extracting by timestamp is whether boundaries must be exact.
| Goal | Lossless setting | Boundary accuracy | Speed / quality |
|---|---|---|---|
| Exact timecode boundaries (transcripts, alignment) | Off (re-encode) | Sample-accurate | One re-encode at source format |
| Quick rough pull, drift OK | On (stream-copy) | Snaps to nearest packet (~30 ms) | Instant, byte-identical audio |
| Format not stream-copy eligible | On is ignored | Sample-accurate (re-encode fallback) | Re-encode runs anyway |
Timecode-to-seconds conversion
Both fields take seconds. Convert your mm:ss or hh:mm:ss timecodes before entering them.
| Timecode | Seconds to enter | Note |
|---|---|---|
| 0:30 | 30 | Half a minute |
| 2:15 | 135 | (2 × 60) + 15 |
| 10:00.5 | 600.5 | Tenths are allowed (step 0.1) |
| 41:05 | 2465 | (41 × 60) + 5 |
| 1:05:20 | 3920 | (1 × 3600) + (5 × 60) + 20 |
Per-tier recording limits
Long source recordings hit the duration cap before the size cap. Pick a tier that fits the whole recording, not just your segment.
| Tier | Max size | Max recording length | 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
Timecode-driven extractions with the exact field values. Remember: the limit applies to the whole source recording, not the segment you keep.
Extract a transcript-aligned answer
Your transcript marks an answer from 41:05 to 41:48. Boundaries must match the transcript, so Lossless off for a sample-accurate cut.
Input: interview.flac (3600.0 s) Start (s): 2465 (41:05) End (s): 2508 (41:48) Lossless: off (sample-accurate) FFmpeg: -ss 2465 -i interview.flac -t 43 -c:a flac out.flac Output: interview-trimmed.flac (~43 s, FLAC)
Pull a 2-second SFX sample, instant
Grabbing a short effect from a long mix where ~30 ms drift doesn't matter — Lossless on for a quick copy.
Input: ambience.wav (1800.0 s) Start (s): 742.0 End (s): 744.0 Lossless: on (WAV stream-copy) FFmpeg: -ss 742 -i ambience.wav -t 2 -c copy -avoid_negative_ts make_zero out.wav Output: ambience-trimmed.wav (~2 s, no re-encode)
Extract a lecture section as MP3
Pull minutes 15–22 of a recorded lecture for revision notes.
Input: lecture.mp3 (5400.0 s) Start (s): 900 (15:00) End (s): 1320 (22:00) Lossless: off FFmpeg: -ss 900 -i lecture.mp3 -t 420 -c:a libmp3lame out.mp3 Output: lecture-trimmed.mp3 (~7 min)
Extract a sub-second precise hit
Tenths of a second matter for a drum hit. Step is 0.1 s and Lossless off keeps the edge exact.
Input: drums.wav (240.0 s) Start (s): 88.3 End (s): 88.9 Lossless: off FFmpeg: -ss 88.3 -i drums.wav -t 0.6 -c:a pcm_s16le out.wav Output: drums-trimmed.wav (~0.6 s, exact)
Extract audio between two video timecodes
You logged a quote in a video at 12:00–12:30; pull just that audio.
Input: recording.mp4 (4500.0 s, AAC) Start (s): 720 (12:00) End (s): 750 (12:30) Lossless: off FFmpeg: -ss 720 -i recording.mp4 -t 30 -c:a aac out.m4a Output: recording-trimmed.m4a (30 s)
Edge cases and what actually happens
Lossless segment boundary drifts ~30 ms
By designStream-copy cuts only on packet boundaries. If your timecode must be exact (transcript alignment, sub-second hits), turn Lossless off so JAD re-encodes and the boundary is sample-accurate.
Timecode beyond the file's duration
ClampedEnd (s) is capped at the file duration in the UI, and the kept length is computed as end − start (floored at 0.01 s). A timecode past the end yields a segment that stops at the file's end rather than an error.
Start equals or exceeds End
ClampedIf End isn't greater than Start, duration floors to 0.01 s and you get a near-empty clip. Double-check your two timecodes — Start must be the smaller number.
Whole recording exceeds the 30-min Free cap
Tier limitThe duration limit applies to the SOURCE file, not your segment — so a 1-hour recording won't load on Free even if you only want 30 seconds. Use Pro (120 min) or Pro-media (unlimited).
Source recording over 50 MB on Free
Tier limitFree caps at 50 MB. A long lossless WAV or FLAC research master exceeds that fast. Pro (200 MB) or Pro-media (100 GB) handle large masters.
Stream-copy fails on the source
RecoveredSome containers can't be copied after a seek (partial MP4, certain Opus-in-WebM) and return a 0-byte output or throw. JAD automatically re-encodes instead, so you still get the segment — at sample-accurate boundaries, with the metrics line showing the re-encode engine.
You need many segments from one file
Wrong toolThe trimmer keeps one range per run. For many timecoded segments in a single pass, audio-splitter accepts multiple start/end ranges. Use it when extracting a list of moments rather than one.
Segment needs to be a different format
By designOutput matches the source format. Extract first, then convert the segment with a sibling such as mp3-to-wav or wav-to-flac if your pipeline needs another container.
Extracted segment has background noise
Wrong toolExtraction never cleans audio. For a noisy interview segment, run the result through ai-noise-reducer (RNNoise speech model) after extracting.
Frequently asked questions
How do I enter a timecode like 41:05?
Convert to seconds: 41:05 = (41 × 60) + 5 = 2465. Both Start (s) and End (s) are numeric fields in seconds, with a 0.1-second step so you can specify tenths.
Will the segment boundary be exactly where I asked?
With Lossless off (re-encode), yes — boundaries are sample-accurate. With Lossless on (stream-copy), the cut snaps to the nearest packet, so it can drift up to ~30 ms. For timecode-critical work, keep Lossless off.
Does the duration limit apply to my segment or the whole file?
The whole source file. A 60-minute recording is over the 30-minute Free cap even if you only want a 20-second segment. Choose a tier that fits the full recording.
Is the recording uploaded to extract a segment?
No. FFmpeg 8.1 runs in your browser via WebAssembly. The recording stays on your device; only a processed-count (if signed in) is recorded server-side, never the audio.
What format will the extracted segment be?
The same as the source — there's no format dropdown on the trimmer. A FLAC source gives a FLAC segment. Convert afterward with tools like wav-to-flac if needed.
Can I extract sub-second segments?
Yes. The step is 0.1 s and the minimum kept length is 0.01 s, so you can pull short hits like 88.3 to 88.9. Keep Lossless off for exact sub-second edges.
Can I extract several timecoded segments at once?
The trimmer does one range per run. For a batch of timecodes, use audio-splitter, which accepts multiple ranges in a single pass.
What if my End timecode is past the end of the file?
End is capped at the file duration in the UI, and the kept length is end − start, so the segment simply stops at the file's end. It won't error.
Why is the extract instant in one case and slower in another?
Lossless on (stream-copy) is near-instant because it copies packets. Lossless off re-encodes the segment, which takes time proportional to its length. The exact-boundary guarantee comes from the re-encode path.
My extracted clip is noisy or hummy — can the tool fix it?
Extraction only cuts; it doesn't clean. Run the segment through ai-noise-reducer for speech noise, or use an EQ/de-ess sibling for specific problems.
Can I extract from a video file?
Yes. Drop the video and the trimmer operates on its audio track, writing an audio file in the source audio container. To pull the entire soundtrack instead, use video-to-mp3 or video-to-wav.
What's the largest source file I can use?
50 MB on Free, 200 MB on Pro, 100 GB on Pro-media and Developer. The size cap, like the duration cap, applies to the whole source recording.
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.