FFmpeg Cookbook

Audio Waveform Video Maker

Turn an audio file into an MP4 with an animated waveform — ready to upload to YouTube, podcasts, or social.

Local processing only — your file never leaves the browser
🎵
Drag & drop an audio file, or tap to select
MP3 / WAV / M4A / AAC / FLAC / OGG, up to 100 MB
🎵
Output is 1280×720 at 25 fps, H.264 + AAC. Rendering is roughly real-time in the browser, so a 3-minute song takes a few minutes — keep clips short for a quick result.
Rendering… 0%

What this tool does

  • Animated waveform rendered over your audio at 1280×720, 25 fps
  • Choose the waveform style (line / point-to-point / centered) and color
  • H.264 + AAC output that uploads cleanly to YouTube and social platforms
  • Runs locally with ffmpeg.wasm — your audio never leaves your device

How to use

  1. 1

    Drop an audio file

    MP3, WAV, M4A, FLAC, and more. Keep it short for a fast render.

  2. 2

    Pick a style and color

    Line is the classic look; centered mirrors the wave; point-to-point is sparser.

  3. 3

    Render and download

    The waveform video is encoded to MP4. Preview, then download.

What each setting means

Waveform style
showwaves mode — line (continuous), p2p (point to point), or cline (centered line).
Color
The waveform stroke color (on a black background).

Common pitfalls

Symptom: Rendering takes a very long time

Cause: Drawing a frame per 1/25s of audio is roughly real-time in the browser.

Fix: Use shorter clips; a 10-minute song renders in roughly ten minutes. Trim first if you only need a segment.

Symptom: The video has no sound

Cause: The source had no decodable audio stream, or it failed to map.

Fix: Confirm the input actually contains audio; re-export it as a standard MP3/WAV and try again.

Symptom: The waveform looks flat

Cause: Very quiet audio produces a small wave.

Fix: Normalize the loudness first (see the Volume Normalizer), then render.

Equivalent FFmpeg commands

Reference commands you can run on the desktop FFmpeg CLI.

Audio → 720p waveform MP4
ffmpeg -i in.mp3 -filter_complex "[0:a]showwaves=s=1280x720:mode=line:rate=25:colors=white,format=yuv420p[v]" -map "[v]" -map 0:a:0? -c:v libx264 -preset veryfast -crf 24 -c:a aac -b:a 192k -shortest -movflags +faststart out.mp4

Browser support & limits

  • Rendering is roughly real-time in the browser; audio is capped at 10 minutes.
  • Fixed 1280×720 / 25 fps output; no custom resolution or per-frequency spectrum view.

Privacy

This tool runs ffmpeg.wasm directly in your browser. Files never leave your device — everything runs locally. Read the privacy policy →

Frequently asked questions

What resolution and frame rate is the output?

1280×720 at 25 fps, H.264 video with AAC audio — a good balance for YouTube and social while keeping in-browser rendering practical.

How long can the audio be?

Up to 10 minutes. Rendering is roughly real-time, so longer clips take proportionally longer; a warning appears past 3 minutes.

Can I change the waveform look?

Yes — pick the style (line / point-to-point / centered) and the stroke color. The background is black.

Is my audio uploaded?

No. Everything runs in your browser via ffmpeg.wasm; the file never leaves your device.

Related tools