Waveform Generator
Local only — nothing is uploaded unless you save or share it.
Turn a recording into a waveform PNG or SVG — your colours, your size, nothing uploaded.
- Drop in an audio or video file
- Choose the style, colours and size — the preview updates as you go
- Download it as a PNG, or as an SVG if it is going to be printed
Save this tool
Keep Waveform Generator handy
Use your browser's Share menu, then “Add to Home Screen”.
About this tool
A waveform is the picture of a sound, and it turns out people want it for all sorts of things: a podcast cover, a title card, a music video, an album insert, a print of the moment somebody said something worth keeping. This sound wave generator makes one from any audio or video file your browser can play. As a sound wave image generator it does the whole job in the page: drop the file in, pick the style — bars, a filled shape or a single line — set the colours and the size, and download it. The preview is the image: what you see is drawn by the same code that produces the file, at the size you asked for. You get a waveform png with a transparent background if you want one, which is the version that drops onto a cover or a video without a white box around it. You also get an SVG, which matters more than it sounds: these end up printed, and a PNG sized for a screen is a blurry A2 canvas. The vector version is the same picture at any size, and it is the one to use if it is going anywhere near a printer. Everything happens in your browser. The recordings people make sound wave art from are usually personal — a voicemail from someone who is gone, a wedding vow, a child's first words — and those should not have to be uploaded to a stranger's server to be drawn.
Frequently asked questions
Can I get a transparent background?
Yes — turn the background off and the PNG comes out with transparency, so it drops onto a cover, a video or a coloured page without a white box around it. The SVG has no background either unless you ask for one. Transparency is the usual reason people need a waveform as a file rather than a screenshot.
PNG or SVG — which should I use?
PNG for anything on a screen, at the size you need it. SVG for anything printed: it is a vector, so it is the same picture at a postcard or a poster, and a PNG sized for a screen is blurry the moment it is enlarged. If you are sending it to a print shop, send the SVG.
How big can the image be?
Up to 8000 pixels on a side for the PNG, which is four times the width of a 4K screen. That limit is a real one rather than a policy: browsers stop producing an image above a certain canvas area and hand back a blank one instead, and different browsers stop at different points. The SVG has no size limit at all, because it has no pixels.
Is my recording uploaded?
No. The file is decoded and drawn in your browser, and nothing is sent anywhere. This tool has no API for that reason — the recordings behind waveform art tend to be the most personal files anybody owns, and asking to upload one to draw it is not a reasonable trade.
What files can I use?
Anything your browser can play: MP3, WAV, M4A, FLAC, OGG, and video files like MP4 or MOV, where it draws the audio track. If your browser can play it, this can draw it — audio to waveform in one step, and the audio waveform image comes out at whatever size you set.
Why do the bars change when I change the width?
Because the number of bars follows from the width, the bar thickness and the gap — a wider image at the same bar size simply fits more of them. The count is shown under the settings so the picture stops being a surprise. Each bar averages the part of the track it covers rather than sampling one point of it, so the shape stays recognisable rather than shifting as the count changes.
Can I make a waveform of just part of the file?
Not on this page — it draws the whole track. Trim the file first with our audio trimmer and drop the result in here; that is two steps, and it keeps each page doing one thing well rather than growing a second interface for choosing a span.
Why does a quiet recording look flat?
Because it is: the bars are drawn against full scale, so a recording made at a low level uses very little of the height. Raise the height setting to stretch what is there. It is deliberately not normalised automatically — a waveform that always fills the frame is not showing you the recording, and for anyone using this to check a recording that would be actively misleading.
Help improve this tool
Found a bug, want a change, or need a tool we don't have?
You have an unsent draft.
Thanks — that's with us. You'll find the reply in your inbox.Go to my messages