Things I’ve learned, published for the public benefit
Hope This Helps header image

Online Tone Generator

Screenshot of the Online Tone Generator

I made an online tone generator based on the Firefox Audio API HTML5 Web Audio API. It’s basically a large logarithmic slider that allows real-time, smooth frequency changes.


  • Fine-tune the frequency in 1 Hz, 0.01 Hz and 0.001 Hz increments
  • Pick a music note from a list (added Sep 2014, revamped May 2016)
  • Increase/decrease the frequency by one octave (added Aug 2015)
  • Can change the frequency smoothly as you move the slider
  • Keyboard shortcuts (added Aug 2015)
  • Generate a link to a specific tone, so you can share it (added May 2016)
  • Choose sine/square/sawtooth/triangle wave (added Aug 2017)
  • Input frequency as a number (added Aug 2017)
  • Works well on Chrome, Firefox & Safari – including mobile devices (iOS, Android) – requires a browser with support for the Web Audio API.

There are other tone generators on the Web, but they are not as cool (if I do say so myself) and/or they require Java or Flash.

What can you use a tone generator for? You can do a science experiment with resonance, tune a musical instrument, test your new audio system (how low does it go?), test the limits of your hearing (I can hear virtually nothing above 18,000 Hz, even at maximum volume), or figure out your tinnitus frequency to better target therapy.

851 Comments so far

  • Voessli

    Great tool. For tinnitus masking Id like to propose adding a pulse editor and more Sounds. To make a noise like that:

  • Helen Richmond

    A wonderful site, really useful. Thank you. I may have some questions soon.

  • ~Mark F


    You have a very nice tone generator. My question is is it possible to choose two separate frequencies and have the generator alternate between the two tones automatically (similar in nature to the two-note siren of the English police cars. I hear these two tones in my head they do alternate. I think one of them is around 210 Hz and the other is around 160 Hz.

    Thank you,

    ~Mark F,

  • Mike

    I have found this program very helpful and listening to the sound I need for a whistle I was making.
    My only problem was, my whistle is a chime whistle with three different notes. I would like
    to hear the sound of all three notes together, maybe I need three laptops one for each note.

  • MB

    I compared your generator to others and yours is a half step flat.

    You might want to check that.


  • Echo

    The max tone I can hear is 19,123 Hz. I don’t think that’s normal….

  • glamdrag

    i use this to prevent my JBL from going on power saving mode by generating a low volume low frequency tone in the background. When i watch movies it idles when there is no sound in the movie, so when someone speaks after a pause, the first part of the sentence gets chopped off before the JBL turns the sound on again. Now it stays on because of the low background sound from the generator. THank you!

  • Will

    Tried to donate however I cannot proceed without agreeing to paypal’s privacy statement, I cannot, I do not agree to anything related to paypal. I can send you a cheque?

  • DeeZee

    Great invention! I use it at 1550hz to blast out telemarketers ears when they call. 1550 is right in the sweet spot for what the landline telephones will transmit.

    • Bill Nye

      YES! Brilliant!
      But what does the bottom thing mean? About what landline telephones transmit? Can I screw up my parent’s landline by playing 1550.

  • Doon

    Love this tone generator, but I wish it was a stand-alone software that I could run offline on an old XP system I use for music offline. No matter, nice tone generator, simple to use and works great, and the fine tone adjustment is a nice touch. Good job! And Thank you!

  • Lukas

    Got some new speakers and I noticed a ratteling in one. Used this to figure out at what frequencies it is most noticable. But after playing around with this generator and having it turned slightly too loud it self corrected 😀

    10/10 looks good, works perfect and no annoying ads but high quality info

  • Stephen Desper

    Hello Tomasz ~ I did gladly donate to your very useful website. I would make two suggestions. 1) It would be useful to me, and perhaps others, to be able to click on a button to activate a quality pink-noise generator from your website. 2) For those using the 40Hz tone for health purposes, I would suggest an accelerometer or “bass shaker” attached to your favorite chair as a means to “input” the tone into your body. Acoustic input is one thing, but tactile input is another way of getting the healing energy active in your body.
    ~Best to you, SWD

    • Jessica K. Beck

      I also had a question along these lines about the 40Hz health purposes, I know that this wasn’t your research. I am wondering if it is still beneficial if the brain if the person cannot hear (refuses to wear hearing aids)? Does the brain still process the acoustic input if the ears are not detecting it?

  • Brian Harmer

    I use this to get my dickheaded neighbors above me to stop pounding around. Doesn’t always succeed but hell is it fun to play with. Thanks

  • Juraj

    Thanks for the app, very convenient!

  • sock

    This is exactly what I need for doing sweeps in venues and identifying low spots, but i wish i could have it be offline is it possible to download this is someway

  • Dave

    You can use this software oscilloscope (not mine) to visual the tones generated too:

  • Jonathan

    Is it possible to generate a higher frequency?
    I would like to generate a tone at 26,000 hz

  • Cleve Patterson

    Is it possible to add a pulsed tone feature (like audiologists use)
    That is, interrupting the selected sine wave tone at a user selectable rate (tenths of a second up to a second or so) to produce a sequence of ‘beeps’ at the selected frequency?
    As and extra, maybe a variable duty cycle also, but even just a 50/50 pulse at a variable rate would be great

  • walkerj

    I’ve got a martin in the attic, so I use the tone generator as one tool to make his life less happy here. What I would find very useful is a button that causes the generated tone to jump around randomly above a specifiable Hz value, or the value selected by the slider.

  • Vasyl

    This is the most amazing tool I ever found!

    Please consider adding a 500 Hz frequency adjusting step.

    It would be awesome to check out the highest frequency you can hear using keyboard shortcuts:


    Or maybe make adjusting step configurable on the website?

    So visitors can put anything they like – 0.001 Hz or 1000 Hz and then use it with a keyboard shortcut.

    Thanks a lot!

  • Greg Strickland

    Here’s a thought-

    Change the initial default level control to a lower value, such as 5 percent. The reason is because if a user is wearing headphones or earbuds, they could damage their hearing immediately by pressing play.

    Please DO NOT mitigate this by reducing maximum audio level available. Just set the level control to start at a lower level.

    Thank you for your excellent work and approach to this website.

    • Tomasz P. Szynalski

      Greg, thank you for the suggestion, but to be honest, I’m not sure this is a good idea. I’m pretty sure you cannot damage your hearing “immediately” (at least not at levels that can be produced by typical audio devices). If the sound is too loud, the user can always take off the headphones. There is no reason to expect their system volume would be set to an extreme level, assuming they’re using the headphones to listen to other stuff. Finally, the default frequency is 440 Hz, which is well below the frequencies where you can get hearing loss due to sound exposure.
      That said, there is nothing special about the default 75% level — I might lower it a little bit, for example to 50%. Generally, my goal would be to set it at a level at which it is not annoying at typical volume levels (I don’t want a jarring volume spike when the user switches from music or videos to the generator).

Leave a Reply to Ethan Kim