Tone Generator
Render a sine, square, sawtooth, or triangle tone from 20 Hz to 20 kHz and download it as WAV.
🔒 Processed entirely in your browser — nothing you enter here is ever uploaded.
The result appears on this page after you run the tool. Nothing you enter is uploaded.
Result
About this tool
Set a frequency, a duration, and a waveform, then run the page. Frequency is clamped to the closed range 20 Hz through 20000 Hz, so a typed 440 stays 440 and a typed 10 becomes 20. Duration is clamped to 0.1 through 60 seconds and defaults to 3. The waveform is sine unless you pick square, sawtooth, or triangle. The render is a one-channel OfflineAudioContext at 44100 Hz. An oscillator of the chosen type runs for the whole duration. Gain starts at 0.001, rises linearly to 0.45 over the first 20 milliseconds, holds, and falls linearly to 0.001 across the last 40 milliseconds. There is no separate volume slider and no sweep from one frequency to another.
The finished buffer is packed as 16-bit PCM WAV and loaded into the audio player. The file name is the waveform, a hyphen, the frequency, and hz.wav, so a 440 Hz sine is sine-440hz.wav and a 963 Hz sine is sine-963hz.wav. The caption lists WAV, the Hertz value, the waveform, the duration, and the size in kilobytes. Each run replaces the previous file. The tone does not keep sounding until a stop button; you play the WAV the page just built.
440 Hz is the usual tuning A. Any other frequency inside the clamp, including 963 Hz, is the same oscillator with a different number. The page does not claim a medical or solfeggio effect for a frequency. It writes the samples and lets you hear them. Playback and the download stay in the browser.
Example. A 440 Hz sine at the default 3 seconds renders a mono 44.1 kHz WAV named sine-440hz.wav. The same path at 963 Hz names the file sine-963hz.wav.
Limit. Frequency is clamped to 20 Hz through 20000 Hz and duration to 0.1 through 60 seconds. The render is one finite file, not a tone that keeps sounding until you press stop.
How do I generate a 440 Hz tone?
Leave frequency at 440, duration at 3, and waveform at sine, then run it. The page renders a mono 44.1 kHz buffer in an OfflineAudioContext, ramps the gain from 0.001 to 0.45 over the first 20 ms, holds it, and ramps back to 0.001 over the last 40 ms. The download is sine-440hz.wav.
Which waveforms and frequencies are available?
The oscillator type is sine, square, sawtooth, or triangle. Anything else is treated as sine. Typed frequency is clamped to 20–20000 Hz, so 963 Hz is accepted and 10 Hz becomes 20 Hz. Duration is clamped to 0.1–60 seconds.
Is this a tone I can leave running?
Each run builds one WAV and loads it into the audio player. There is no live oscillator that continues until a stop button. Generate again to change frequency. Playback uses the file you just rendered, still inside the browser.