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.

Features

  • 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.

916 Comments so far

  • Rizwan

    Please add a dB control

    • Eric

      First off congrats on this development very useful.
      I was wondering about making some critical audio comparisons and so I couldn’t quite decide what audio level your software was producing, is there a way you could make a pro version (perhaps with VU meters that allows one to have specific levels like +4dbm for the
      analogue crowd or -18dbFS for the digital crowd?

  • Jes Vesper

    Hi Tomasz,

    Since about one week, the ‘ringing’ sound that stayed for a very short time (I think thirty to forty seconds) after my session of listening to 40 Hertz, doesn’ t go away anymore….. It went from only a few seconds after the listening session to permanent. This leaves me in a terrible dilemma, since I am a music teacher and therefore can’t risk my hearing, but I also need the 40 Hertz sessions for my brain to function better. I tried turning down the volume, but that doesn’t help. I use earphones of a very good quality. Do you have any ideas what I could do? Could I have damaged my hearing?
    Kind regards, Jes

    • Tomasz P. Szynalski

      Permanent hearing damage is unlikely if you’ve been listening at a reasonable volume. You could try switching to a sine wave — that doesn’t contain high harmonics which are the most dangerous.

  • Jes Vesper

    Hi Tomasz,

    Thanks you so much for your advice!
    I’ll switch to the sine tone!

    Kind regards Jes

  • nl

    send you a few sawbucks soon. nice work. genius workable site.

  • Prof. Peter Kiefer

    Super tool, thank you. It would be great, if one could download the frequencies…

  • Abraham

    I think this is a great tool for irritating people, and i know that isnt what it is for, but its funny to watch people wonder where the noise is coming from!

  • Gimlao

    Using Chrome and Safari on iOS 14, it’s showing this text :

    ” The Online Tone Generator won’t work because your browser does not fully support the Web Audio API. You can use the Online Tone Generator if you install a recent version of Firefox, Chrome or Safari. ”

    But actually, everything is working fine, so it should not show this text on top. =p

  • Hugh Crosthwait

    Is there any difference between the sound produced by your generator and commercially available devices? Also do you know where 40 hertz light generators may be available?
    Thank you
    Hugh Crosthwait

  • Antonino Fratta

    Thank you Tomasz,
    For the very first time, in my experience a sampled (digital) generator has completely replaced the analog (old HP) thanks to fine tune capability, adding exact frequency knowledge without its measure.
    And I learned about frequency therapies.
    During these corona crimdumb months your Tone G. and name have been always ON my desktop, available for my experiments, testing acoustics after decades from my teen passion (and finally adopting drivers put aside 44 years ago). Wonderful. I also restored drivers made in the ’50s, actually working in a bass-horn for my joy in listening. Light cones match better.
    Hope you are well and enjoying with all your beloved and homely.
    Antonino

  • Lorraine Murji

    I’d love to have this version as an app. I’d buy it then. Any possibility ?

  • Adam Barnes

    Yo I was hearing some buzzing while listning to certain youtube videos and was like “dang that’s annoying”. Figured I could make a bunch of sine waves in audacity and play them each to see if I could generate the right tone to trigger whatever resonance was happening, to fix it, but it was taking forever. Being able to sweep manually and smoothly like this let me find it in seconds, and then fix the problem (the A button on my XBox 360 controller).

    10/10

  • Cam

    New usage to add to the list: Finding your wireless earbuds. Being able to sweep through the pitches to find the most audible one, and being able to set the L/R balance is ideal.

  • Unkown

    I love this website! *Just don’t listen to it with headphones* (or turn your volume down pretty low! )

  • Ciara

    Used this to find out what tone our aural exams play inbetween questions.. B5 It’s a bit painful I think haha

  • OldHardwareTech

    Thank You for the tone generator.

    I’m an audiophile and I use it to set speaker levels and frequency response. It along with a rather sophisticated audio tool for my android phone have taken all the guesswork out of “Have I got the treble at the same level for each channel?” and measuring for room reflections that produce constructive or destructive interference at certain frequencies. I put your site on my ad blockers trusted site list so it’ll provide you with a bit of income.

    Well done sir!

  • Flex2

    A finer resolution than 1% soundlevel would be appreciated.
    1% is 40dB and we can normally hear as small sound level differences as 0,1% = 60dB.
    If one would like to study harmonic distortion as I was looking for a even fine range like 0,01% or 80dB attenuation would be desired.

    Otherwise a excellent tool for audio.

    • Tomasz P. Szynalski

      That’s a very good point. I’ll keep this suggestion in mind. In the meantime, you can hack around the slider by appending #v0.001 to the URL to get 0.1%. The slider will show 0% due to rounding, but it will work.

      • Cem Ismail Günes

        A solution would be to make the volume rise exponentially as the percentage increases linearly, so going from 1% to 2% doesn’t double the volume, giving low percentages a finer volume control. Also a fade-in and fade-out of the tone is not really necessary.

        • Tomasz P. Szynalski

          That would break user expectations — a small movement from “100%” to “90%” would result in a huge volume decrease. Almost all volume controls in computer apps and devices are linear.

  • Jakob Schnell

    I use this website quiet often. Its super functional. Thank you so much!

  • David

    Can you make a downloadable version of this so I don’t have to be online… Would happily pay for a version I can run from my desktop … thank in advance…. Please advise…

  • sophie

    I used this to check my hearing. I could hear until 14khz. I am 49 years old. I tested up to 20khz with headphones, but had the volume too high.

    * The day after I suddenly awoke to a high pitched ringing! **

    For three weeks I have had a high pitched ringing in my head – I think it is about 13-14khz . It is tinnitus, and very loud. I have not slept for weeks because this is too loud. My doctor says it is tinnitus. my doctor prescribed Xanax which does not help.

    I will kill myself. I am not taking Xanax for the rest of my life. The sound has driven me mad. I have found a suitable bridge a short train ride away, and will die. Life is not worth living like this.

    PUT A MASIVE WARNING ON THIS PAGE STATING “DO NOT PLAY LOUD EVEM IF YOU CANNOT HEAR THE SOUND – RISK OF PERMANENT EAR DAMAGE AND TINNITUS “

    • Tomasz P. Szynalski

      Sophie,

      I can hear street noise all the time in my apartment. I don’t like it (especially those squealing tires and honking cars!), sometimes I even obsess about it, but should I kill myself over that?
      Millions of people have had encounters with tinnitus and gotten better. I am one of them. The problem is not the sound, but your excessive stress reaction to it. Please read my blog post here: https://blog.szynalski.com/2010/12/tinnitus-tips/

      Note that if you haven’t been sleeping well, your mental endurance is low and you will tend to catastrophize. Not a good time to be making irreversible decisions. I understand you’re in severe stress right now and, you know what, maybe life wouldn’t be worth living if our most extreme negative reactions were to continue forever. But they never do. What you’re experiencing is not what “life with tinnitus” is like – it’s what “life with an excessive stress reaction to tinnitus” is like. I am 100% sure you will, like all tinnitus patients, eventually stop having this crazy overdrive reaction (and you can make it happen faster by taking conscious control of your attention).

      IT WILL GET BETTER.

      • sophie

        Thank-you for your reply, which is patronising and belittles the request:

        PLEASE PUT A MASIVE WARNING ON THIS PAGE STATING :

        “DO NOT PLAY LOUD EVEN IF YOU CANNOT HEAR THE SOUND – RISK OF PERMANENT EAR DAMAGE AND TINNITUS”

        Visitors are in doubt taken back in awe by your exceptionally useful tone generator. It is excellent. However, in order to stop other people getting tinnitus, you could have t he decency to remind them that they ought to refrain from playing the tones at high volumes even if they think they are not damaging their ears. It easy for you to remind your visitors of this.

        Today, I visited the doctor after a few tests and some questions, and he diagnosed me with tinnitus.

  • Norman Rasmussen

    Could you add different options for how the balance shifts.

    Currently (eg: when shifting balance from the center to the right) the right channel remains at 100% and the left channel decreases from 100% to 0%. (So left volume “look likes” ╱─, and right like ─╲, if you’ll excuse the bad unicode art, if you overlap them you end up with a triangle with a straight line in top, soft of like this ⍓).

    Another option would be to “increase” the right channel as the left decreases. There are also a couple of ways to do this: one simple way is the left + right is constant. (So you’d end up with a cross-over effect like this ╳)

    Another way would be to use left = cos() and right = sin() so that the “magnitude” is constant. (and then I think the result is two quarter circles).

    • Tomasz P. Szynalski

      Norman,
      Yes, but I cannot increase the Right as you go from Center to Right, because Right is already at 100% in the Center position. I can only decrease the Left. The only way to make it work would be to make Center = (L=50%, R=50%) or something like that. But then people would be wondering why the generator plays at 50% volume even though they have set the volume to 100%…
      Of course, I could always add detailed options, but I like to keep things simple. Do you have a specific use for other balance functions?

      • Norman Rasmussen

        My idea for the specific use was that having different volume curves might make the sound more 3d immersive sounding — eg: like the sound was moving around you. These days the Web Audio API has a PannerNode that does this for you (or a StereoPannerNode for simple “2d” panning).

  • Panos Helidonis

    I was hearing a high pitch hissing in my right ear for a few days now.
    I used the generator to identify it and it “matched” my hissing at around 9kHz.
    Is this even possible?

    By the way, thank you very much for this tool, very useful..

  • Christopher Craig - Huerta

    Idk why but I like to use your tone generator to distort the crap out of bad speakers.

  • John Oathout

    Tomasz:

    Fascinating!! I’ve been doing a bit of independent research and observation of my own tinnitus and what helps. (Please note that my comments or experience aren’t directives for any readers. You should consult the medical advice of a physician before trying any of the techniques below.)

    A little background first – and bare with me because it eventually relates to your tool. I think my tinnitus started when I was using a high-pitched cutting tool for an extended period on a wire fence on wooden plants that had grown through it. Not too long after the job, I noticed the high-pitched ringing. It’s worse some days than others and I really only notice it more in silence. I’m 57 and have had the problem a couple of years. More annoying than truly debilitating at this point.

    One day I had a pretty bad, likely sinus related headache. My go-to treatment has been using a hand held percussion muscle massager on my forehead, underneath the eyes, temples, and even on top of my ears. Seems to loosen things up and help the pain. One day, I had tinnitus with the sinus issues. The percussion massager has variable speed. After using what was one of the lower settings – which, of course also generates lower – albeit more pulsing frequencies – then stopping for a moment? I suddenly noticed that the tinnitus was GONE! Poof! Disappeared! As no doubt other tinnitus suffers experience with nearly any treatment, the tinnitus slowly returned over time but still I felt the experience was some sort of a breakthrough. Could perhaps listening to lower tones over a longer time have a more extended relief period? Was this functioning as a sort of cancellation of the higher pitched ringing? Resetting the brain’s generation of the tinnitus tone?

    Enter your tone generator after a reference to it from a comment on a TikTok about yet another tinnitus relief suggestion. Placing your hands over your ears, fingers facing the back, then quickly snapping the index finger over the top of your middle finger onto your head. Rinse, repeat, 50 times. Guess what that does? It generates a low frequency pulse and it did help my morning tinnitus the first time I tried it. Temporarily. Then in the comments, which were split about the effectiveness of the treatment, I found your tone generator reference.

    When I generated a tone I thought was matching the percussion massager, then stopped? No noticeable change in the tinnitus. Which was odd I thought. (Although, I think I need to try it with headphones or pods.). But then I played around with the higher frequencies using your uber-useful tone slider. Now…I’m pretty darn sure that by quickly sliding the generator tone back and forth – in that higher frequency range to a lower one – for me it was in the 500-3000hz, there was an immediate reduction in my tinnitus! I think it has something to do with the pulsing effect – which lines up with why I get some tinnitus relief with both the percussion massager and the TikTok method.

    More experimentation is definitely warrantied and I’m now wondering if I can find a pulsing, tone generator or if this feature could be added to your tool? At any rate. THANK YOU!!! I will submit a donation to your project here shortly!

  • Chris Z

    Thanks for the website, really nice for tuning instruments 🙂

  • Serj L.

    You Are Awesome! I just Ask … can you do a multi tone generator? I usually use to Open 5 pages to get 1 tone from the combined frequencies… it may helps in devolops healing frequencies. I think possibility to start 5 tones in 1 page without changing anything else cause this is the best generator ever on the entire internet!

  • Ronald Hays

    Thomas,
    I own a Model S Tesla which has a rattle that is driving me nuts. Eight trips to the dealer service center with zero results. On a Tesla blog, someone reported using a tone generator to locate a rattle; but gave no instructions about how this can be done. Can you help me with this. If it works, I will certainly donate to your site.
    Thanks

    • Tomasz P. Szynalski

      Well, congratulations on owning a Tesla. I suppose if you played a loud enough tone through your audio system, and you kept changing the frequency, you’d eventually stumble on a frequency that resonates with whatever is loose in the car and reproduces the rattle you’re hearing. It would be best to start on the lower end (not sure if the Tesla audio system can reproduce bass very well?). But this will probably only work if the rattle is in the car interior (like a loose piece of the dashboard), as opposed to the engine compartment or the suspension. I’ve never done anything like this.

  • Jordan

    Excellent site. Thank you for creating / maintaining this. Happy to have contributed. Well worth it.

  • Nikolay

    Thank you for this awesome tool.

    My use case is to provide -60db signal floor to my AptX Low Latency Bluetooth transmitter. It is connected to PC via AUX cable and then provides BT connection to my wireless headphones.

    The problem with this transmitter is that when the signal goes down all the way to -60dB, it just stops transmitting at all, and when it goes back above -60dB, it takes about 50-100ms to start transmitting again. I believe it was made like that to conserve the battery, and there is no way to disable it.

    This is very noticeable in movies, as there could be silence in dialogues. It goes like that: someone speaks — ok, silence — ok, another character starts talking but the start of the phrase is being “cut” — not ok. I couldn’t figure out what is going on until I’ve started monitoring output levels in VoiceMeeter Banana. Then I found your website which allowed me to generate a sine wave all the way up to 20kHz. I’ve noticed that when signal goes around -60dB it completely cuts off.

    So my idea was, since we couldn’t really hear anything above 20kHz, what if I feed the signal to my bluetooth transmitter?
    And it worked! That’s what I’m doing right now to mitigate the problem:

    – Set frequency to 20,154Hz
    – Set volume to 1%
    – Sine or triangle works good enough with almost no hissing (I guess it is an aptX encoder limitation because we shouldn’t be able to hear anything at 20kHz)

    I wondered if I could set volume even lower than 1% to make it -60dB and saw that you can append #v0.001. This works fine to me! #v0.001 seems to give exactly -60dB for me, so I’ve appended #v0.002, frequency to 20kHz, sine, and now it shows -58dB which is what I needed!

    Thank you one more time!

  • John Csutorka

    Hi Tomasz
    I would like to see one small change in the volume control to allow finer control, especially at the low end. Perhaps increasing the length of the volume bar to at least twice its current size would do it.
    Thanks
    John

  • Tadeusz Woroniecki

    This online tone generator is excellent for identifying the pitch of my tinnitus.

    Unfortunately I think I have 2 tinnituses. One I have had for decades in one or both ears, a constant high note. The other is more recent, a loud pulsatile high note in the other ear. The only way I could replicate the combined effect is to open two tabs, have one at a constant volume, and for the other to toggle the volume control up and down.

    For your next version maybe

    Meanwhile keep up the good work.

Leave a Reply to Karin Swenson