Audio Waveform Video Generator

Drop an audio track, pick a visualizer style, customise the colours. Hit record — the page exports a WebM video synced to your audio. Perfect for YouTube uploads of audio-only content.

Drop an audio track
MP3 · WAV · M4A · OGG · OPUS · FLAC

How it works

The audio is played through an AudioContext with an AnalyserNode teed off. Each animation frame, getByteFrequencyData gives the current FFT magnitudes (256 bins). The canvas redraws based on those.

Rendering uses canvas.captureStream(30) for the video track and AudioContext.createMediaStreamDestination() for the audio, combined into one MediaStream and fed to MediaRecorder. The recording runs from "Render" press to the audio's 'ended' event — the resulting WebM is exactly your track's length with the visualizer baked in.

Best with Chrome / Edge / Firefox. Safari has historically been spotty with canvas.captureStream + MediaRecorder; you may need to use the preview instead and screen-capture it.