Cut a region out of any audio file, exact to the sample and measured at zero milliseconds of error. Waveform handles, real keyboard shortcuts, click-free cut fades, and WAV or MP3 output that matches its extension.
Initializing in your browser…
Turn audio into a waveform image in five styles, exported as PNG or real vector SVG. Reads every channel, shows true level in dBFS, and redraws correctly at any size.
Generate band-limited test tones, sweeps and noise from 20 Hz to 20 kHz. Up to eight voices, note-name entry, binaural beats, and WAV export rendered from the same oscillators you hear.
Detect tempo from onset autocorrelation, within 0.20 BPM across thirteen known-tempo fixtures. Draws the beats it found and plays them back as a click so you can check by ear.
You recorded a long voice memo and only one stretch in the middle is the usable quote.
Input
markers.wav - keep 3.00 to 7.00 s - WAV out - 5 ms cut fade
Output
trimmed-markers.wav, 4.0000 s, cut landing on exactly the right sample
The region is taken straight out of the decoded buffer, so the times are rounded against the file’s own sample rate and the result is exact rather than snapped to a container boundary: measured across three regions, zero milliseconds of error. A short raised-cosine fade at each end removes the click a hard cut leaves. The format is whatever you chose, and the extension matches it, which was not true when a FLAC came back as an MP3 still named .flac.
Pick a start and an end on the waveform and keep what is between them, cut on the sample rather than on the nearest container boundary. Trimming 3.0 to 7.0 seconds out of a test file returns exactly 4.0000 seconds beginning on exactly the right audio. The file you download carries the format you chose and the extension that matches it.
Isolate the catchiest few seconds of a song and export at the right length for a phone ringtone.
Pull a highlight or quote from a long episode to share on social media.
Strip dead air from the beginning and end of a recording before archiving or sending it.
Cut loops and one-shots from longer recordings for use in a DAW or sampler, with the cut fade set to zero for sample-exact edges.
The file is decoded once in the browser with the Web Audio API, which is what draws the waveform and drives the preview, and the cut is then taken straight out of that decoded buffer. Start and end times are rounded against the buffer's own sample rate, so the region is exact by construction rather than as close as a container seek can get. Measured on a fixture carrying a different tone in each second, three different regions came back with zero milliseconds of duration error and the correct tone at the start of each.
This used to go through ffmpeg compiled to WebAssembly, and the trim itself was accurate, but the format handling around it was not. The output format was taken from the input file's extension and there were only branches for MP3, WAV and OGG, so a FLAC or an M4A was quietly transcoded to MP3, and the download then kept the original extension: trimming song.flac gave you an MP3 file named trimmed-song.flac, which some players will refuse and none will report honestly. A lossless source lost its quality with nothing said about it. Format is now an explicit choice between a 16-bit WAV and a 192 kbps MP3, the filename always matches what was actually written, and choosing MP3 for a lossless source raises a warning first. Cutting in the browser also skips the multi-megabyte WebAssembly download that was only ever there to do a job the decoded buffer could already do, so the export is immediate.
A hard cut through a waveform is a step from some non-zero value to silence, and a step is a click. A short raised-cosine fade at each end removes it, adjustable from 0 to 100 ms and defaulting to 5, which is short enough not to be heard as a fade and long enough to kill the transient. Set it to zero if you are butting clips together and want the sample-exact edges.
The waveform plots amplitude against time, averaged into pixel-wide bins, so tall peaks are loud passages and flat stretches are silence. Ctrl and scroll zooms in for finer placement, scrolling pans once zoomed, and the start and end times can be typed directly to two decimal places. The keyboard shortcuts are real: space plays and pauses, I and O set the in and out points to wherever the playhead is, the arrow keys nudge it by 0.1 seconds or by a full second with shift held, and Home and End jump to the edges of the selection. They stay out of the way while you are typing in the time fields.
Not if you export WAV: the samples you keep are the samples that were there, apart from the short fade at each end if you leave it on. Exporting MP3 re-encodes, which does discard detail, and the tool says so when the source was lossless.
Because that is what it is. The extension follows the format you chose rather than the format you started with. The previous build kept the original extension even when it had transcoded the contents to something else.
Cutting mid-waveform leaves a step from a non-zero sample straight to silence, which is heard as a click. Five milliseconds of raised-cosine fade removes it and is too short to hear as a fade. Set it to zero if you are joining clips and need the edges exact.
There is no fixed limit. Large files take a moment to decode and render the waveform, after which everything is instant because the audio is already in memory.
You select a single continuous region per trim. For several cuts, export each one separately, or use the Silence Detector if what you want removed is the quiet parts.
Audio is decoded and processed locally with the Web Audio API. Your files are never uploaded to a server.