Browser audio oscillator
Tone Generator
Generate exact frequencies, musical reference notes, and white or pink noise directly in your browser.
Signal controls
Adjust the signal before or during playback.
Current frequency
Recent tones
Stored only in this browser tab.
Played tones will appear here.
Online Tone Generator
Use this online tone generator to create frequencies from 20 Hz to 20,000 Hz directly in your browser. You can play sine, square, triangle, and sawtooth waves, or switch to white noise and pink noise.
The tool also identifies the nearest musical note, shows cents deviation, supports precise frequency adjustments, and offers continuous or timed playback. Audio is created locally with the Web Audio API; no microphone, recording, or audio upload is involved. Browser oscillators are designed to generate periodic waveforms at a selected frequency, while gain nodes control output level.
Listening safety: Set your device and tool volume low before pressing Play, especially when using headphones or testing very low or high frequencies. Stop immediately if the sound becomes uncomfortable.
How to Use the Online Tone Generator
- Enter a frequency between 20 and 20,000 Hz, or move the frequency slider.
- Choose Sine, Square, Triangle, Sawtooth, White noise, or Pink noise.
- Set the volume, starting at a low level.
- Choose Continuous playback or a duration of 1, 3, 5, or 10 seconds.
- Select Play tone.
- Adjust the frequency, waveform, or volume as needed, then select Stop.
The large result display updates with the current frequency. For oscillator waveforms, it also shows the nearest musical note and how many cents the frequency is above or below that note.
Adjust the Frequency Precisely
The generator provides several ways to choose a frequency:
| Control | Effect |
|---|---|
| Direct Hz input | Enter a value to two decimal places |
| Logarithmic slider | Move across the full 20–20,000 Hz range |
| −1 / +1 | Change by one Hertz |
| −10 / +10 | Change by ten Hertz |
| Octave down | Divide the current frequency by two |
| Octave up | Multiply the current frequency by two |
The tool keeps every value inside the supported range. For example, doubling 440 Hz produces 880 Hz, while moving one octave down produces 220 Hz.
Why the Slider Is Logarithmic
The frequency slider does not treat every Hertz as an equal physical distance. It uses logarithmic mapping, so movement represents a proportional change in frequency.
That is more practical than a linear slider across a range from 20 to 20,000 Hz. A linear control would devote almost no usable space to lower frequencies, while most of the slider would represent the upper range.
The frequency-position bar uses the same logarithmic scale.
Musical Notes and Test-Tone Presets
The Musical note preset menu contains equal-tempered notes whose frequencies fall within the supported range. Each entry shows the note name, octave, and frequency.
The Signal preset menu includes:
- 100 Hz test tone
- 440 Hz tuning tone
- 1,000 Hz test tone
- 10,000 Hz test tone
A4 is set to 440 Hz, the fixed tuning reference used by this plugin. Selecting a preset updates the direct input, slider, nearest-note display, and frequency-position indicator.
Choose the Right Signal Type
| Signal | How it sounds | Plugin behavior |
|---|---|---|
| Sine | Smooth and simple | One oscillator frequency |
| Square | Bright and buzzy | Periodic square waveform |
| Triangle | Softer than square | Periodic triangle waveform |
| Sawtooth | Bright and dense | Periodic sawtooth waveform |
| White noise | Bright, broadband hiss | Random samples in a looping buffer |
| Pink noise | Less bright than white noise | Filtered random samples in a looping buffer |
A sine wave is the closest option to a single-frequency reference tone. Square, triangle, and sawtooth waves are generated at the same selected fundamental frequency but have different waveform shapes and therefore different timbres. OscillatorNode supports these standard periodic waveform types.
White Noise vs Pink Noise
White noise is created by filling a two-second audio buffer with random sample values, then looping that buffer.
Pink noise starts with random samples but passes them through a multi-stage recursive filtering calculation before playback. This reduces the relative brightness of the generated signal compared with white noise.
The frequency input remains visible in noise modes, but white and pink noise do not have one musical pitch. The frequency control therefore does not tune the noise to a single note.
The plugin does not include brown noise, adjustable noise filters, or downloadable noise files.
How the Nearest Note Is Calculated
For oscillator frequencies, the tool converts the selected frequency into a MIDI-style note value:
note value = 69 + 12 × log₂(frequency ÷ 440)
The result is rounded to the nearest equal-tempered note. The octave and note name are derived from that rounded value.
The expected frequency of the nearest note is then calculated, and cents deviation is found with:
cents = 1200 × log₂(selected frequency ÷ nearest-note frequency)
A result of:
- 0 cents means the frequency matches the nearest note.
- Positive cents means it is above, or sharp of, that note.
- Negative cents means it is below, or flat of, that note.
There are 100 cents between adjacent equal-tempered semitones. Reverse note-frequency tools commonly present the same nearest-note and cents relationship.
How Browser Playback Works
Sine, square, triangle, and sawtooth signals use a browser OscillatorNode. White and pink noise use a looping AudioBufferSourceNode, which plays audio data stored in memory.
All sources connect to a GainNode, which controls volume before the signal reaches the browser’s audio output. The displayed volume range is 0–100%, mapped internally to a maximum gain value of 0.3.
The tool applies an approximately 30 millisecond fade-in and fade-out when starting or stopping. This reduces abrupt discontinuities that can create clicks.
Frequency and volume changes are smoothed over a short interval during oscillator playback instead of jumping instantly.
Continuous and Timed Playback
Choose Continuous to play until you select Stop. Fixed duration options are:
- 1 second
- 3 seconds
- 5 seconds
- 10 seconds
Changing the duration while a signal is playing restarts the duration timer. The Elapsed output updates throughout playback.
When playback stops, the tool saves an entry to Recent tones.
How to Read the Display
| Output | Meaning |
|---|---|
| Current frequency | Selected oscillator frequency in Hz |
| Nearest note | Closest equal-tempered note and octave |
| Cents from note | Difference from the nearest note |
| Signal | Selected waveform or noise type |
| Volume | Current tool volume percentage |
| Elapsed | Time since playback started |
| Frequency position | Logarithmic location between 20 Hz and 20 kHz |
The waveform canvas is a representative illustration of the selected signal type. It is not a live oscilloscope, spectrum analyzer, microphone measurement, or representation of the exact signal leaving your speakers.
Recent Tone History
A history record is created when playback stops. Oscillator entries contain the frequency, nearest note, waveform, volume, elapsed time, and timestamp.
Noise entries use the noise type instead of presenting a frequency as their main label.
The plugin retains up to eight entries in sessionStorage. History is limited to the current browser tab and can be removed with Clear history.
The Copy settings button copies the current waveform, frequency, note, volume, and selected duration after at least one signal has been played.
Practical Uses and Limits
This frequency generator can be useful for:
- Playing reference notes for singing or instruments
- Comparing waveform timbres
- Basic ear-training exercises
- Checking whether a speaker or headphone produces a selected tone
- Demonstrating frequency and octave relationships
- Producing short fixed test tones
It does not measure the actual output of your speakers. A selected 10,000 Hz signal, for example, does not prove that the speaker reproduces it accurately or that the listener can hear it.
The plugin also does not provide:
- Frequency sweeps
- Binaural beats
- Dual oscillators
- Stereo panning
- DTMF signals
- WAV or audio downloads
- Microphone input
- Frequency detection
- Recording or playback capture
- Medical hearing tests
Some competing generators include sweeps, multiple oscillators, stereo controls, or file export, but those features are not part of this tool.
Frequently Asked Questions
How do I generate a specific frequency online?
Enter a value from 20 to 20,000 Hz, choose a signal type, set a low volume, and select Play tone. You can also adjust the value with the logarithmic slider or the ±1 Hz and ±10 Hz buttons.
What frequency is A4?
A4 is 440 Hz in this tone generator. That fixed reference is also used to calculate the nearest musical note and cents deviation.
What is the difference between sine and square waves?
A sine wave is a smooth periodic signal at the selected oscillator frequency. A square wave has an abrupt waveform shape and a brighter, buzzier timbre, even when its fundamental frequency is the same.
What do positive and negative cents mean?
Positive cents mean the selected frequency is above the nearest musical note. Negative cents mean it is below that note, while zero cents means an exact equal-tempered match.
What does Octave up do?
Octave up doubles the frequency, and Octave down halves it. For example, 440 Hz becomes 880 Hz one octave up or 220 Hz one octave down.
What is the difference between white noise and pink noise?
White noise uses unfiltered random samples and sounds relatively bright. The plugin’s pink noise applies recursive filtering to random samples, producing a less bright broadband signal.
Can I change the frequency while it is playing?
Yes, for sine, square, triangle, and sawtooth signals. The oscillator frequency changes smoothly using a short transition rather than an abrupt jump.
Can this tone generator test my hearing?
It can play tones that may help you observe what you can hear, but it is not a medical or calibrated hearing test. Your device, speaker, headphone level, environment, and playback hardware all affect the result.
Does the tool record or upload audio?
No. It generates audio locally through the Web Audio API and does not use a microphone, record sound, or upload audio files.
Are high-frequency tones safe?
They should be used cautiously and at low volume, especially through headphones. A tone may be uncomfortable or potentially harmful even when it seems faint, so stop playback immediately if you experience discomfort.
