Audio to video converter
Turn audio into a shareable video with backgrounds, waveforms, and titles.
Turn an audio file into an MP4 you can upload to a platform that only accepts video. The page composites a single still frame on an HTML canvas at the exact output resolution — your background image fitted inside it, a solid colour behind, and optional title and subtitle text drawn with real browser fonts on a translucent panel — then hands that one PNG to ffmpeg, which loops it against your audio and encodes H.264 video with AAC audio at 192 kbps. Five resolutions are available: 1080p, 720p, 4K, square for feeds and vertical for reels. Because the frame is static, the video encode is cheap regardless of length, and file size stays close to the size of the audio itself.
Key facts about Audio to video converter
| Frame rendering | One PNG composited on a canvas at the output resolution, then looped by ffmpeg — the exported video is a still image, not an animation |
|---|---|
| Video codec | libx264 with -tune stillimage, preset veryfast, yuv420p pixel format for universal playback |
| Audio codec | AAC at 192 kbps, regardless of the input's original bitrate |
| Frame rate | 30 fps, with -shortest so the video ends exactly when the audio does |
| Resolutions | 1920x1080, 1280x720, 3840x2160, 1080x1080 square and 1080x1920 vertical |
| Image fitting | Your image is scaled to fit inside the frame preserving aspect ratio; the background colour fills the letterbox bars |
| Text | Title up to 120 characters and subtitle up to 160, drawn in a system sans-serif on a rounded translucent black panel, positioned on a nine-cell grid |
| Text size | Small, medium or large, scaled relative to the output height so it looks the same at 720p and 4K |
| Animated waveform | Available in the on-screen preview only. The exported MP4 carries the still frame |
| Size caps | 80 MB for the audio, 50 MB for the background image |
| Image formats | JPG, PNG, WebP, BMP and HEIC — HEIC is converted before compositing |
What happens to your file
Both your audio and your image stay in the browser. The frame is drawn on a canvas element on this page, and the encode runs on ffmpeg compiled to WebAssembly inside a Web Worker on your own device — the audio, the image and the finished MP4 all live in that worker's in-memory filesystem and in your tab. Nothing is uploaded. The only network request is the one-time download of the ffmpeg core, about 32 MB of fixed public code from the jsDelivr CDN that your browser caches and reuses for every media tool here.
About this tool
- 1
Add the audio
Drop an MP3, WAV, OGG, FLAC, AAC or M4A up to 80 MB. That cap is lower than the other audio tools here because an H.264 encode runs alongside it.
- 2
Choose a background
Upload an image — cover art, a photo, a title card — or pick a solid colour or gradient. The image is fitted inside the frame and the colour fills any bars.
- 3
Add title text
Optional title and subtitle, positioned anywhere on a nine-cell grid, in small, medium or large. They are drawn with real browser fonts, so they stay sharp at 4K.
- 4
Pick the resolution
1080p for YouTube, square for an Instagram feed post, vertical for reels and shorts, 4K only if the source image is large enough to justify it.
- 5
Render
The frame is composited on a canvas, then ffmpeg loops it against the audio and encodes H.264 with AAC. Progress runs as a percentage and can be cancelled.
- 6
Download the MP4
The result plays anywhere H.264 does, which in practice is every platform and every device made in the last fifteen years.
| Audio input | MP3, WAV, OGG, FLAC, AAC, M4A, up to 80 MB |
|---|---|
| Image input | JPG, PNG, WebP, BMP, HEIC, up to 50 MB |
| Output | MP4, H.264 video plus AAC audio |
| Resolutions | 1080p, 720p, 4K, 1080x1080, 1080x1920 |
| Output size | Close to the audio's own size — a static H.264 frame at 30 fps compresses to almost nothing |
| Engine | Single-threaded ffmpeg.wasm 0.12.10, ~32 MB core fetched once and cached |
| Speed | Fast for a video encode because the frame never changes, but still single-threaded: expect minutes for a long track |
| Browsers | Chrome, Edge, Firefox and Safari 15+ |
- Match the image resolution to the output. A 640-pixel cover scaled to 4K is soft; 1080p is the sweet spot for most uploads anyway.
- The exported video shows a still frame. If you need an animated waveform in the file itself, this is not the tool — the animation here is preview-only.
- Square and vertical are the two resolutions that matter for social. A 1080p landscape video gets letterboxed hard in a phone-first feed.
- Audio is always re-encoded to AAC at 192 kbps, so there is no point supplying a 320 kbps MP3 and expecting it to stay 320.
- Output size tracks the audio, not the length of the video, because a static H.264 frame compresses to almost nothing after the first keyframe.
- Text is drawn on a translucent dark panel, so light photos still give readable titles without you having to edit the image first.
- The 80 MB audio cap is roughly an hour of 192 kbps MP3. For longer material, split it first with the audio trimmer.
- Still image, solid colour or gradient background
- Title and subtitle text on a nine-cell position grid
- Three text sizes scaled to the output resolution
- Five resolutions including square and vertical
- H.264 video with AAC audio at 192 kbps
- HEIC background images converted automatically
- Cancellable render with live progress
- Uploading a podcast episode to YouTube, which needs a video file
- Making a lyric-free track playable on a platform that only accepts video
- Turning an interview recording into a shareable square post with a title card
- Creating a vertical video from an audio clip for reels or shorts
- Publishing a music demo with cover art as the visual
- Sending a long audio file as a video when the recipient's platform blocks audio attachments
Related tools
View allPart of Audio tools that run in your browser
Works well with this6
More audio tools10
Updated