Skip to the tool
CALCPARK

Audio Cutter & Joiner

Cut a section out of an MP3, WAV, M4A, OGG or FLAC on a waveform, add fades and volume, join several clips in any order and export WAV or MP3 — all in your browser.

Files stay on your device
Loading the tool…

How to use it

  1. Drop one or more audio files. Each is decoded and shown as a waveform; click a file name to switch between them.
  2. Drag on the waveform to select a part, or type exact start and end times (seconds or m:ss, fractions allowed). “Play selection” previews it with the fades and volume you set.
  3. Press “Export selection” to download just that part, or “Add selection as clip” to collect several parts — from the same file or others.
  4. Reorder clips with the arrows, remove the ones you do not want, then press “Join clips” to merge them back to back.
  5. Choose WAV (lossless) or MP3 (192 kbps) before exporting and download the result.

Example

A ringtone from a 3:42 song: select 0:58.500 to 1:28.500 (30 s), set fade in 500 ms and fade out 1,500 ms, export as MP3. The result is 30.0 s and about 720 KB (192 kbps × 30 s ÷ 8). As WAV at 44.1 kHz stereo the same cut would be 44,100 × 2 channels × 2 bytes × 30 s = 5.3 MB.

How the audio is processed

cut:    samples[start × rate … end × rate)
fade:   sample × (i ÷ n) over the first/last n samples, n = ms ÷ 1000 × rate
volume: sample × (percent ÷ 100), clipped to ±1 when written
join:   clips appended; other sample rates are resampled linearly, mono is copied to every channel
wav:    RIFF/WAVE, PCM format 1, 16 bits, interleaved channels

Decoding uses the Web Audio API (decodeAudioData), which keeps the whole file as 32-bit floats in memory: a 10-minute stereo track at 48 kHz is about 230 MB, hence the 20-minute cap. The sample rate is read from the file header (WAV, FLAC, MP3, Ogg, M4A) and the file is decoded at that rate, so a 44.1 kHz MP3 stays 44.1 kHz; a file whose rate cannot be read is decoded at your device's rate instead. Exporting a selection re-encodes nothing for WAV; for MP3 the WAV is handed to FFmpeg (@ffmpeg/core 0.12.6, fetched from the unpkg CDN on first use, about 32 MB, cached by the browser) and encoded with LAME at 192 kbps. An MP3 source that is cut and exported as MP3 is therefore decoded and encoded once more — a small quality loss; export WAV if you want none. Formats the browser cannot decode (WMA, AMR, APE, DTS…) need the Audio Converter first.

Sources: MDN – BaseAudioContext.decodeAudioData, WAVE PCM soundfile format.

Questions

Why is the WAV so much bigger than my MP3?
WAV stores every sample uncompressed: 44.1 kHz × 16 bits × 2 channels is 1,411 kbps, about 7× an MP3 at 192 kbps. Choose MP3 for sharing, WAV when you plan to edit the file again.
Can I cut a 2-hour podcast?
Not in one go: decoded audio is kept in memory as floats and the tool caps open audio at 20 minutes. Split long recordings with a desktop editor, or convert to a lower sample rate mono file first — the cap is on duration, not file size.
Do the fades and volume apply when I join clips?
Yes. Each clip remembers the fade in, fade out and volume it was added with, so a playlist of clips can have its own fades at every join.
Why does the preview sound different from the export?
It should not: the preview applies the same fades and volume with Web Audio gain ramps. The one difference is clipping — the preview plays through the system mixer, while the WAV clips samples above full scale, so keep the volume at 100% or lower for loud material.