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.

679 Comments so far

  • Dave

    Hi. What programming language are you using for this web app?

    I ask because I am interested in similar things. I want to write a program (maybe desktop instead of web-based) to generate a certain set of frequencies.

    Thank you!

  • Rib

    Very nice relieves stress thank you soooo much

  • Farrukh Javaid

    This webapp has more purpose than you think, I use bluetooth earbuds on my laptop but after short interval of no playback, bluetooth device disconnects everytime, i tried various troubleshooting methods nothing helped. i got idea, opened your webapp and play frequency generator with 1Hz, and 1% volume, windows thinks there is playback so it keeps device connected and i enjoy uninterrupted music on the top of it.
    Thanks for your efforts

  • yaho

    I love annoying my classmates and teachers by using your frequency generator, thanks : )

  • Jake

    Hi. I discovered a link to your tone-generator in a message on an email discussion list. The message gave instructions for getting water out of an iPhone, and linked to your site. I’m not about to dunk my phone in the first place, but I’ll admit I have a bit too much time on my hands and was therefore rather curious. So I came here and like what I see. I’m a long-time screen reader user, and the tone generator works well with my current screen reader on the Mac. I’ve also looked at your other stuff. Thanks for a great website and keep up the nice work.

  • James Truslow

    Amazing, Im glad i had the idea to use this its working to help alleve a headache i was having, lower tones are great for drowning out car noise and for sleep etc. scared to put the volume too high around 20,000 hz cause i wouldnt even know if it was damaging my ears with these really nice speakers im using.

  • Jacek

    Jestes Bogiem Tomaszu. Dziekuje zycze spokojnosci.

  • James Truslow

    just want to point out that the symbols for less than and greater than are switched

    ” 10,000″ this is saying higher than 20 Hz and less than 10,000, which makes no sense lol

  • James Truslow

    just want to point out that the symbols for less than and greater than are switched

    ” 10,000″

    this is saying higher than 20 Hz and less than 10,000, which makes no sense lol

  • Ari

    Hey just wanted to say that if it’s possible to change it, I would definitely move the warning to the top of the page. I don’t know a lot about frequencies and hearing and was playing 17,000 hrtz for a while on my phone on full blast without realizing that it could damage both my phone and hearing. I only realized once I accidentally scrolled down and read the warning

  • greg

    I just used your tone generator to identify an annoying sound that has been bothering our Saskatchewan village for months. I didn’t realise it’s actually two sounds, both 50 HZ, one a sine wave, the other a triangle. The sine wave literally vibrates the ground. We thought it was the train engines parked on the edge of town, but they’re the wrong frequency, and don’t suddenly start and stop like the problem sound does. Part of the sound travels though the air and t he other part travels through the ground. The vibration is something you feel more as you go higher in a building. We’re not the only town having this problem, no one knows where it’s coming from, or what’s causing it.

    • Tomasz P. Szynalski

      Out of curiosity, what’s the name of your town?

    • artur

      Hi, same problem here. The frequency is something around 60Hz, and modulated in various ways. Blocking the ears works so it is not something Havana style but very annoying anyway. I am using various sounds to mask it and some frequencies like Schuman harmonics, too. These frequencies can be extremely harmful and I think there should be some environmental controls regarding this.

  • gabriel smit

    hi thomasz, would there be a possibility to ‘design’ something like this which could hop between frequencies over a given period automatically [either online or downloadable]. say where you choose the frequencies to ‘hop’ – say between 15kHz and 18kHz and the ‘hop’ periods, say 30sec or even random hop times between certain frequency bands.
    i am not hearing much beyond 13kHz anymore but i am frustrated beyond measure by the uncontrolled yapping and barking of dogs in my vicinity. at present they seem to respond well to 15kHz and upwards, they stop barking that is. it does not seem to bother people around me as the db is not that much; so it seems to be a win-win situation 🙂
    kind regards
    gabriel

  • Royce

    Hey, love the website so far. i mainly use it for the 40hz thing idk if it work tho hehe

    anyway Safari 15 automatically changes the background colour of the tab bar, depending on the background colour of the website, or based on a colour defined in the website’s HTML code via a meta tag, and your website would look so cool if you somehow edited it to support it!

    thanks

  • Nat Roth

    Hi,
    Thanks so much for making this tool! It’s just a really nice thing to have in my bookmarks bar. I’m always analyzing music but I don’t have perfect pitch so I use it constantly to figure out which key I’m in.
    I just discovered the frequency shortcut system (https://www.szynalski.com/tone-generator/#370, for example, sets it to 370 Hz) which is nice for linking pitches to send to people. I was wondering if it would be any trouble to add support for pitch letter name shortcuts (https://www.szynalski.com/tone-generator/#c#3, for example, might play a C#3). It would make it way easier to write out urls without having to go check which frequencies I want all the time.
    (Unless you’ve already done that and I’m using the wrong link format, which is likely. In that case just let me know the correct format and I’ll be delighted.)
    Thanks again!

    • Tomasz P. Szynalski

      Thank you for writing in, Nat. You can already do that – pick a note from the note picker and then it will generate a link like https://szynalski.com/tone#Cs4,v0.75. The problem is, C#3 is the only note for which this doesn’t work!! I hadn’t realized this. It’s probably due to rounding errors – C#3 is not a rational number, so you have an infinite number of digits after the decimal point. When you convert the hertz to the equal temperament scale, there is a very slight difference (less than 1 trillionth). I don’t know why it happens only for this one number. Argh, this will be hard to fix…

  • Karin Swenson

    Hi!
    Would you consider including microtones in the selection of notes?

  • Edwin

    I used this tool to do some very basic audio room correction. Some tones really sound unpleasant in my gaming room, so I was able to track the frequency down and adapt my equalizer accordingly (I use “boom 3d” in windows as EQ software).

  • Bee

    Can anyone explain why 430hz is so much louder than 440hz? Is that because of my own signal chain?

  • Constantinos

    Hello,
    Let me know how can i set 80 hz for right ear and 40 hz for left ear with your program?
    Thank you for your assistance.
    Constantinos

  • David

    Thank you for maintaining this, I use it all the time with work. It is a handy way to allow a client to generate a test tone on there speakers without needing to fuss around with software. Keep up the great work.

  • John B

    This is such a great tool. I’m a pianist with a pretty good piano but with temperature changes etc odd notes go out of tune in relation to each other. So I’m able to correct these problems. Also to perfect 12ths for example you can match a faulty note and adjust it as necessary without risking spoiling lots of other intervals, thereby testing the adjustment before committing yourself with an actual adjustment.

  • Cheryl

    Hi Tomasz, Thank you for doing this tone generator. I put it on my surface pro 4 so that I could let it stay on while I am on my desk top. Just wanted to know if that is a wise thing to do.
    Also were you born in Poland. My Dad is from Poland. He was in the war and would never
    tell us, his children, very much about his homeland. He has passed. Guess I am curious about Poland. Dad did tell me never to go to Poland. He was in a special forces unit. I am assuming that he told me that because he thought it would be too risky for us to visit his homeland.
    Thank You again

  • S R G

    This is a convenient tool for simulating automotive frequencies.

    For instance, lifter tap @ 1800rpm in a V8 where a cylinder fires every 2 rotations of the crankshaft:

    f = 1800/(60*2) using a triagular waveform sounds very similar

  • Diggitydawg

    I love it so much. Something that might improve the website is the slider. I want to slide through finer frequencies, Right now it skips over some. Perhaps holding down a certain key could move slider really slow? Definitively my fav frequency generator anyway tho.

Leave a Reply to Royce