Reverse Audio

Play an audio file backwards, or reverse just a section of it by start and end time, and download the result as MP3 or WAV. Nothing is uploaded.

🌐 Español

Drop your file here (.mp3, .wav, .m4a, .ogg, .flac)

πŸ”’ Private by design: your files are processed locally in your browser and never uploaded to any server.

Reversal is the operation that cannot stream

Almost every audio effect is a conveyor belt. Volume, speed, filtering and equalisation all read a little, write a little, and never need to hold much at once. That is why you can process an hour long file in a browser tab without thinking about it.

Reversal is the exception, and the reason is unavoidable rather than an implementation shortcut. The first sample you write is the last sample you read, so nothing can be emitted until everything has been read and decoded. The whole selected stretch lives in memory at once.

That constraint drives two design decisions here. There is a hard ceiling of ten minutes on the amount of audio reversed in one run. And there is a start and end pair, so that ceiling applies to a passage rather than to your file, which means a long recording is not excluded, only a long selection.

Reversing a passage from a long recording

  1. Drop your file on the box or use Choose a file. MP3, WAV, M4A, OGG and FLAC are accepted.
  2. Choose an Output format. MP3 is the default.
  3. Set Start of section to reverse (seconds, 0 = beginning) to where the passage begins.
  4. Set End of section (seconds, 0 = end of file) to where it ends. Leave it at zero to run to the end.
  5. Click Reverse Audio. The file is probed first, so an over-limit request is refused before any encoding time is spent.
  6. Download the result, named after your file with a reversed suffix and the extension of the format you chose.
  7. Process another clears the box.

Both time fields are in plain seconds from the start of the file, not minutes and seconds, so a passage beginning at two minutes ten is entered as 130.

The trap in trimming a reversed section

There is a specific and very easy mistake in this operation, and knowing about it explains why the tool behaves the way it does.

If you reverse first and trim afterwards, you do not get your passage backwards. The filter reads from your start point all the way to the end of the file, reverses that entire stretch, and then the trim keeps the first few seconds of the result, which is the end of the file played backwards. Your passage is nowhere in the output.

The cut therefore happens on the way in, as the file is read, not on the way out. The reader seeks to your start time and is told how much to read from there, so the reversal only ever sees your selection. That also means the memory ceiling is measured against your selection rather than the rest of the file, which is what makes the range feature useful rather than cosmetic.

This was verified against the real engine rather than assumed, by feeding it a synthetic file whose samples count upward and checking that a selected window came back with its own first and last samples swapped.

Two limits, applied in the right order

The length actually being buffered is what matters, and there are two ways to know it.

An explicit start and end pair gives it directly, by subtraction, whatever the file’s own duration is. That is the reliable case, and it is checked against the ten minute ceiling.

An open ended selection needs the file’s duration, which is read from the probe. When that comes back unavailable, which happens with some containers and with damaged files, the coarse file size cap of 200 MB takes over. Refusing to work purely because a duration could not be read would be the wrong call, and leaving no limit at all would risk the tab.

Whichever limit stops you, the run is refused before any encoding time is spent. The refusal is built naming the limit that was hit and pointing at the range fields, but the shell around this tool replaces any thrown error with one fixed generic sentence, so that wording never reaches the screen and only the browser console has it. When a file is refused, narrowing the start and end pair is the way around both limits.

What to pair it with

Trimming first is often easier than typing times. Cut MP3 extracts the passage as its own file, which you can then reverse whole with both fields left at zero.

For the reversed sound to sit under reversed pictures, Reverse a Video handles both streams together rather than making you recombine them. For other transformations of the same clip, Change Audio Speed and Audio Pitch Changer alter tempo and pitch independently, and 8D Audio is the spatial effect that pairs well with a reversed loop. Audio Joiner puts a forward and a reversed copy back to back. The rest is on the audio tools hub.

See it in action

Screenshot of the Reverse Audio tool with sysfenix-sample.wav (517 KB) loaded, Output format set to MP3, smaller file, plays everywhere, Start of section to reverse (seconds, 0 = beginning) set to 0
Reverse Audio mid-process: sysfenix-sample.wav (517 KB) loaded, Output format set to MP3, smaller file, plays everywhere, Start of section to reverse (seconds, 0 = beginning) set to 0.
Screenshot of the Reverse Audio result screen showing sysfenix-sample-reversed.mp3 ready to download (72 KB, 86% smaller)
The finished result: sysfenix-sample-reversed.mp3 ready to download (72 KB, 86% smaller). The download link is a local blob URL β€” the file never leaves your device.

Frequently asked questions

Why is there a ten minute limit?

Because reversing cannot be streamed. The first sample of the output is the last sample of the input, so the whole selected stretch has to sit decoded in memory before anything can be written. The engine runs single threaded inside your tab with a bounded heap, so a very long stretch would exhaust it. Ten minutes is the ceiling, checked before any encoding starts.

Can I reverse part of a long podcast then?

Yes, and that is the intended escape hatch. The limit applies to the section you select rather than to the file, so pulling a thirty second passage out of a two hour recording only buffers those thirty seconds and is allowed. Set a start and an end time and the length of the file itself stops mattering.

What if the file's duration cannot be read?

Then a file size cap of 200 MB is used instead, but only when it is genuinely needed. An explicit start and end pair tells the tool exactly how much audio will be buffered without needing the duration at all, so that case is always checked properly. The size fallback only applies to a whole file or open ended selection whose length could not be probed.

What does leaving the end time at zero mean?

Everything from the start time to the end of the file. Zero is the sentinel for the end rather than a literal position, so leaving both fields at zero reverses the whole file and setting only a start reverses from there onward. An end time that is set but not later than the start is refused, since it would select no audio at all.

Does reversing a section give me the section, or the tail of the file?

The section. This is the classic trap with reversal, and it is worth knowing why. If the range were applied after the reversal, the tool would read from your start point to the end of the file, reverse all of it, and then keep the first few seconds, which is the end of the file backwards rather than your passage. Instead the cut happens as the file is read, so only your selection is ever loaded.

MP3 or WAV?

MP3 at 192 kbps for something you are going to share or post, WAV as uncompressed sixteen bit audio if the reversed clip is going into an editor for further work. There is no lossless shortcut here whichever you pick, because reversing rewrites the order of every sample, so an MP3 source going to MP3 output is a second lossy pass.

What happens to embedded album art?

It is dropped. Cover art rides inside an audio file as a still image stream, and carrying it through a filter that reverses samples makes no sense, so the video side is discarded explicitly rather than being left to confuse the encoder. If you need the artwork, keep the original file.

Related tools