⭐ 0

Audio Waveform Visualizer

Decode an audio file and draw the first channel as a min/max waveform, with duration, channel count, and sample peak.

🔒 Processed entirely in your browser — nothing you enter here is ever uploaded.

〰️

Drag & Drop Audio Here

Render a quick waveform preview for supported browser audio formats.

Processing... 0%

Result

About this tool

Drop one audio file, or pick it from the file button. The page checks that the browser can decode it, draws a player for the original file, and then decodes the samples into an AudioBuffer. The picture uses only channel 1, which is getChannelData(0). A stereo file's right channel is not drawn. The canvas element is 960 pixels wide and 260 pixels tall. The number of samples that collapse into one column is the buffer length divided by 960, floored, and at least 1. Each column looks at that block, keeps the smallest and largest sample, and draws a vertical line from 82 percent of the way toward the bottom to 82 percent of the way toward the top, around the center line. The stroke is a cyan line on a dark background.

The caption under the canvas is the duration, the channel count, and the peak. Duration uses minutes and seconds, and it adds centiseconds only when the file is shorter than 60 seconds. One channel is labeled channel, and two or more are labeled channels, with that English plural baked into the script. Peak is the largest absolute sample on any channel, not only the channel that was drawn, and it is printed as a level. A full-scale sample of 1 is 0.00 dBFS. A peak of 0.5 is about −6.02 dBFS, because the level is 20 log10 of the amplitude, with a floor at 1e-8 so silence does not become minus infinity. The peak is a sample peak. It is not a true-peak estimate and it is not LUFS.

Green and red markers are drawn at the start and end of the file because the shared drawing function always marks a start and an end, and this page passes the whole duration. There is no drag handle here and no trim. The page does not export a new audio file, a PNG, or a list of sample values. Clearing the file empties the canvas and the caption and hides the player. If the browser cannot decode the type, there is nothing to draw. Decoding uses the Web Audio API, so the formats you get are the formats that browser can already play. A long file is still summarized into 960 columns, so a three-minute song does not get one pixel per sample. Peaks that last a single sample survive, because each column keeps the min and the max of its block, but the shape between those extremes is not drawn. Mono files and the left channel of a stereo file look the same if the left channel is identical. A tone that exists only on the right channel does not appear in the picture, while it can still raise the peak number if it is the loudest sample in the file.

Example. A one-second mono file of a full-scale sine draws 960 columns from channel 1 and captions a duration under 60 seconds with centiseconds, 1 channel, and a peak of 0.00 dBFS.

Limit. Only channel 1 is plotted. The canvas is fixed at 960 by 260, the peak is the loudest sample on any channel, and the page does not export audio or a picture.

Which channel is drawn?

The canvas reads channel 1 only. A stereo file's right channel is not in the picture. The peak in the caption is different: it walks every channel and keeps the largest absolute sample. A loud right-only hit can show up in the peak and still be missing from the drawing.

How much detail does a long file keep?

The canvas is 960 pixels wide. Samples per column are the buffer length divided by 960, floored, and never less than 1. Each column draws the minimum and the maximum in that block, scaled to 82 percent of the half-height. Peaks survive. The samples between the min and the max do not get their own line.

What does the peak number mean?

It is a sample peak in dBFS, 20 log10 of the amplitude. A sample of 1.0 reads 0.00 dBFS. A sample of 0.5 reads about −6.02 dBFS. It is not an oversampled true peak and it is not a LUFS loudness figure.

Can I save the waveform or trim the file here?

No. The page shows a player, the canvas, and the caption. It does not write a WAV, a PNG, or a sample list. The start and end markers sit on the whole file because this view does not take a selection.