Convert between waveform images and audio — entirely in your browser

100% private — nothing leaves your browser

Drop an image here or browse

PNG, JPG, BMP, WebP — any waveform image

Settings

Drop an audio file here or browse

WAV, MP3, OGG, FLAC, AAC, M4A

Settings

What is ImgWav?

ImgWav is a browser-based tool that converts between waveform images and audio files. Everything runs locally — no files are uploaded to any server, and no internet connection is needed after loading the page.

Acknowledgements

Based on the work of David Domminney Fowler, under the MIT licence.

See David's explanation over at youtube.com/watch?v=VQOdmckqNro

Image → Audio

Upload a waveform image and ImgWav will scan it column by column, reading pixel brightness to reconstruct an audio signal.

1
Upload an image

Drag and drop or click to browse. PNG, JPG, BMP, and WebP are supported.

2
Adjust settings

Sample Rate controls playback speed/pitch. Time Stretch repeats each column's samples. Smoothing Filter averages adjacent values to reduce noise. Brightness Threshold sets the minimum brightness a pixel must have to count as part of the waveform.

3
Preview & download

Listen to the result and download as a WAV file. You can also export the raw sample values as a TXT file.

Audio → Image

Upload an audio file and ImgWav will render its waveform as an image, drawing each sample as a point on an oscilloscope trace.

1
Upload audio

Supports WAV, MP3, OGG, FLAC, AAC, and M4A. The browser's built-in decoder handles format conversion.

2
Choose resolution

Auto (lossless) creates one pixel per sample — a perfect representation but very wide. Use the downsampling options (2, 4, 8… samples/pixel) to reduce size. Options with ⚠ warnings may cause lag on your device.

3
Customize appearance

Set the image height, waveform color, background color, and line thickness to match your needs.

4
Download

Export as PNG (raster) or SVG (vector, scalable). The generated image is fully compatible with the Image → Audio tab for round-trip conversion.

Settings Reference

Sample Rate Number of samples per second. Higher = higher frequencies but shorter duration for the same image width.
Time Stretch Multiplier that repeats each column's samples, making the audio longer and smoother.
Smoothing Filter Moving average window size. Higher values produce smoother (less noisy) audio.
Brightness Threshold Minimum pixel brightness (0–1) to be considered part of the waveform. Lower catches fainter details.
Bit Depth Audio resolution: 8-bit, 16-bit, 24-bit PCM, or 32-bit floating point. Higher = more dynamic range.
Channels Mono (1 channel) or Stereo (duplicates the signal to left and right).
Resolution How many audio samples each image pixel represents. "Lossless" = 1:1, higher ratios shrink the image but lose detail.

Tips

  • For the best round-trip fidelity (Audio → Image → Audio), use the lossless (1 sample/pixel) resolution and keep the default trace settings.
  • If processing seems slow, try a higher samples/pixel ratio to shrink the image width.
  • The brightness threshold is key for noisy or low-contrast images — lower it if the output sounds too quiet.
  • SVG export downsamples the path to keep file size reasonable, so use PNG for pixel-perfect round-trips.
  • All processing uses your CPU. Very long audio files (10+ minutes) may take a moment — the browser isn't frozen, just busy!

Limitations

Max image width 65,535 px — most image viewers (PNG, BMP, etc.) cannot open images wider than this.
Browser canvas limit Detecting…
Effective limit Detecting…
PNG export May fail silently on very large canvases. If the download doesn't start, reduce the resolution or use SVG export instead.
WAV file size Limited to ~4 GB (WAV format limit). At 48 kHz / 16-bit stereo, that's about 6.2 hours.
Memory Very large images or long audio files may use significant RAM. If the browser tab crashes, try a smaller file or higher samples/pixel ratio.

Resolution options that would exceed the effective limit are automatically disabled in the Audio → Image settings.