A waveform will not generate when the browser cannot decode the selected file or when it breaks a hard limit: a 50 MiB compressed-file maximum, five-minute decoded maximum, one through eight decoded channels, an 8,000–192,000 Hz sample-rate range, or a 30-million-channel-sample maximum.
The fastest way to resolve this is to separate a decoding failure, a rejected input, and a valid SVG that another application displays poorly. Check the file and enforced limits before changing any visual option. The Audio Waveform Generator performs decoding, peak extraction, SVG creation, preview, and download in the current browser tab; no audio file or generated graphic is uploaded to Lizely.

Separate a generation failure from a display problem
Locate the exact stopping point before changing anything. A completed run provides reported frame and peak-column counts, a visual preview, inspectable SVG text, and a downloadable SVG. A decoding error or rejected input prevents that output from being created.
- Decode error: The current browser and operating system cannot decode the file, or the file is corrupt, empty, or disguised. Unsupported files return an error.
- Limit rejection: The compressed size or decoded duration, channel count, sample rate, or channel-sample budget exceeds an accepted range. The entire file is rejected.
- Successful run: The preview and SVG inspector are available. The reported counts and downloaded file then provide the basis for checking the result.
- Downstream issue: The downloaded SVG opens in an SVG-aware editor but does not appear in another application. In that case, waveform generation succeeded, and the problem belongs to the later import or display workflow.
Changing the width, height, or colors can correct an invalid SVG option, but it cannot repair an unreadable audio file. That distinction saves time when the generator returns an error before producing a preview.
Confirm the browser can decode the audio
The supported format list includes MP3, WAV, M4A, AAC, Ogg, WebM, and FLAC, but a file extension or MIME label does not guarantee that the current browser and operating system support its real codec. Unsupported, corrupt, empty, or disguised files return an error rather than producing a partial waveform.
- Use the original export when a file has merely been renamed. Changing the extension does not convert an unsupported or damaged recording into decodable audio.
- If the source application can export a fresh browser-decodable WAV, create that copy and try it again. The replacement must still satisfy the duration, channel, sample-rate, and channel-sample limits.
- Test the file in a current browser and operating-system combination that supports its codec. A file that works elsewhere may still fail when the required decoder is missing locally.
- For an overlong recording, shorten a copy in an audio editor before retrying. The generator does not silently process only the first five minutes.
Internally, decoding uses the browser's Web Audio API, whose decoded audio is represented by an AudioBuffer. That browser-level decoding step explains why a convincing file name cannot replace actual codec support.
Check every enforced limit
The compressed file and its decoded data are checked separately. Passing the file-size check does not guarantee that the recording also passes its duration or channel-sample budget.
| Item to check | Accepted value | What happens outside the range |
|---|---|---|
| Compressed file size | At most 50 MiB | The file is rejected. |
| Decoded duration | No more than five minutes | The whole file is rejected rather than truncated. |
| Decoded channels | One through eight | The file falls outside the supported decoded layout. |
| Decoded sample rate | 8,000 through 192,000 Hz | The sample rate is outside the supported range. |
| Decoded channel samples | At most 30 million | The decoded data exceeds the processing budget. |
| SVG width | 320 through 1,600 pixels | Choose a width inside the accepted range. |
| SVG height | 120 through 600 pixels | Choose a height inside the accepted range. |
| Background and waveform colors | Six-digit hexadecimal values | Use the browser's supported hex color controls. |
A small compressed file can expand into much larger decoded floating-point channel arrays. This is why a recording that appears modest on disk may still fail the five-minute or 30-million-channel-sample checks.
Generate and inspect the SVG
- Choose one browser-decodable audio file. Open the Audio Waveform Generator, select a file within the compressed and decoded limits, and allow the browser to decode and validate it.
- Set the SVG options. Choose a width from 320 through 1,600 pixels and a height from 120 through 600 pixels. Select the background and waveform colors using six-digit hexadecimal values.
- Generate the local peak envelope. Run the generation step. The tool divides the decoded sample frames into bounded index ranges and calculates their minimum and maximum values locally.
- Check the reported counts. Review both the decoded frame count and the peak-column count. The peak-column count is the smaller of the requested width, 1,000, and the decoded frame count.
- Inspect and download the exact SVG. Review the preview and expandable SVG text, then save the downloadable file. The preview and download use the identical generated string.
After replacing the file or changing an option, generate the result again. Selecting a replacement, changing an option, generating again, or leaving the page revokes the obsolete object URL, so an older image cannot appear to represent the new input.
Read the frame counts and preview correctly
Each peak column summarizes a contiguous range of decoded frame indices. Within each range, the generator finds the finite minimum and maximum sample across every decoded channel, clamps defensive out-of-range values to -1 through 1, and draws one vertical line between those extremes.
- Fewer columns than the requested width: A short recording can contain fewer decoded frames than the width requires, so the generator does not invent extra measurements.
- A 1,000-column ceiling: A long recording is divided into no more than 1,000 peak columns, keeping the SVG and its processing bounded.
- One combined stereo or multichannel view: A bucket can take its minimum from one channel and its maximum from another. The result does not preserve separate left and right lanes.
- Fixed vertical scaling: Full-scale samples extend to 45 percent of the requested height above or below the vertical center, leaving a five-percent margin at the top and bottom.
The finished SVG contains one background rectangle and a group of peak lines. Confirm its dimensions, colors, reported counts, and background before treating the run as complete. If an old preview seems to remain, repeat the generation with the current file and settings.
Treat the result as a peak overview, not a diagnostic
The output is a static, time-domain waveform. Time runs from left to right, while each vertical line represents a sample-amplitude range. It is not a frequency display or a calibrated measurement of perceived loudness.
- It does not calculate frequency content, beats, notes, loudness, speech, transients, or musical structure.
- Two recordings with similar peaks can sound very different because perceived loudness also depends on duration, frequency balance, dynamics, and playback conditions.
- It should not be used to diagnose hearing, equipment problems, clipping history, phase, or mastering compliance.
- If separate left and right waveforms are required, use an audio editor that exposes each channel as its own track.
The original audio is never rewritten. A visually sparse or nearly flat result may reflect the source material rather than a generation failure, but the picture alone cannot determine why the recording sounds that way.
Use the downloaded SVG in the next application
The download is a text-based SVG with fixed pixel dimensions and a matching viewBox. It is not PNG, JPEG, video, or audio. Open it in an SVG-aware editor to confirm that the file contains the expected dimensions, colors, background, and peak lines.
- SVG remains sharp when displayed at another size, and the generated markup can be inspected or edited.
- Extremely large print or detailed editing workflows may still require different stroke widths or more detailed source data.
- If the SVG opens correctly but another application cannot display it, troubleshoot that application's SVG import rather than regenerating an unchanged file.
A PNG, spectrogram, separate-channel visualization, or application-native audio waveform requires a different workflow. The supported output here is an inspectable, scalable SVG peak overview produced from the selected local audio file.
Related reading: What to Double-Check When Generating an Audio Waveform.
Related reading: What Should I Know Before I Generate an Audio Waveform?.