Audio Trimmer Online - Cut WAV & MP3 Locally
Trim WAV and MP3 files in your browser: see the waveform, pick start and end, preview, and download the clip.
Drop a WAV or MP3 file here, or click to browse
Everything runs 100% locally in your browser.
How the audio trimmer works
The file is decoded with the browser’s built-in audio API into raw audio data. The waveform is drawn, and you pick the start and end points by dragging the two markers. You can preview the selection before downloading it.
- WAV is saved as uncompressed 16-bit PCM.
- MP3 is encoded with the open-source LAME library (lamejs) in a background thread.
- No files leave your device, everything happens locally.
About this tool
The audio trimmer lets you cut a section out of a WAV or MP3 file right in the browser. The file is decoded to raw audio data and the waveform is drawn so you can visually pick the exact start and end by dragging the two markers. Preview the selection before exporting as uncompressed WAV or new MP3. Use the tool to make ringtones, cut silence off the front and back of a recording, pull a quote out of an interview or trim down a music track.
How to use it
- Drop a WAV or MP3 file on the drop zone or click to browse.
- Drag the two handles on the waveform to the desired start and end.
- Press "Play selection" to hear the choice, adjust markers if needed and listen again.
- Choose output format (WAV or MP3 with bitrate) and press "Trim and download".
Examples
Music track MP3 3:45, mark 1:12.00 to 1:42.00New MP3 of 30 sec, 192 kbps stereo, approx. 720 KB. Can be sent to your phone as a ringtone.WAV voice recording 2:30 with 5 sec of silence before and 8 sec afterTrimmed WAV of 2:17. The waveform clearly shows where the audio starts and ends.Common use cases
- Ringtones and notification sounds for mobile phones.
- Remove silence, breath or "uhs" from voice recordings.
- Cut quotes from an interview or meeting recording.
- Trim music tracks for use as background in video or presentation.
- Isolate a specific sound (clap, cheer, effect) from a larger recording.
Frequently asked questions
- Do I lose quality when trimming?
- Exporting to WAV: no, WAV is uncompressed 16-bit PCM at the same quality as the source (or better if the source was MP3, since decoding happens first). Exporting to MP3: yes, slightly, since MP3 is a lossy format. If the source was already MP3, re-encoding creates "generational loss". For archive quality, use WAV export. For sharing or mobile use, MP3 at 192 kbps is almost always plenty.
- Can I cut a segment out of the middle of a file?
- No, this tool does simple "trim only" where you keep the area between two markers. To remove a middle section, split the file in two (before and after) and join them in an audio editor like Audacity. Or run this tool twice to produce two files, one before and one after the unwanted part.
- How long can the files be?
- The limit is practical, not fixed: everything lives in RAM during editing. A 60-minute WAV at 44.1 kHz stereo 16-bit is about 635 MB raw. Browsers typically handle 500 MB to 2 GB depending on device. For very long files (over 2 hours) use dedicated software like Audacity or Reaper.
- Can I trim with millisecond precision?
- Yes. The time labels below the waveform show start, end and length with two decimals after the seconds (10 ms resolution). The cut is accurate down to single-sample level (0.023 ms at 44.1 kHz). Zoom in by widening the window, or move handles in small steps with the cursor for fine adjustment.
Technical background
Process: file is read as `ArrayBuffer` and decoded with `AudioContext.decodeAudioData` into an `AudioBuffer` (raw float32 PCM). The waveform is drawn on an HTML5 `<canvas>` by sampling peak/trough values per pixel. Markers are absolutely positioned `<div>`s using `pointerdown/move/up` for drag. Playback uses `AudioBufferSourceNode` with `start(when, offset, duration)`. WAV export: built manually with 44-byte header + 16-bit signed PCM. MP3 export: PCM is sent to a Web Worker that calls `lamejs.Mp3Encoder.encodeBuffer()` in blocks. Output is a `Blob` with MIME `audio/wav` or `audio/mpeg`, exposed via `URL.createObjectURL`.