DTMF decoder

Turn telephone keypad tones back into digits. Listen live through your microphone or drop in a recording; everything is decoded on your device.

No digits yet
Detected digits 0

Digits appear here with the time each tone started. Test it with the DTMF generator in another tab or on another device.

How to decode DTMF tones

  1. Live: press Listen with mic and allow microphone access. Hold the phone or radio close to the mic and play the tones.
  2. From a recording: press Decode an audio file and pick the file. Digits are listed with timestamps in seconds.
  3. Copy the result with one tap. Nothing leaves your device.

How the detection works

The decoder slices the audio into blocks of about 21–25 ms and measures the power at each of the eight DTMF frequencies with the Goertzel algorithm. A key counts only when one row tone and one column tone both clearly beat their neighbours, the two are within about 8 dB of each other, and together they carry most of the block's energy. That last check is what stops a voice or a song from being read as digits. A key must hold for two consecutive blocks before it is reported, and it is reported once per press.

The standard behind it is ITU-T Q.23 (the frequencies) and Q.24 (receiver tolerances). DTMF frequencies were picked so that no tone is a simple harmonic of another, which keeps false detections rare.

Questions people ask

How does a DTMF decoder work?

It listens for the eight DTMF frequencies at once. Each key sends one low "row" tone (697, 770, 852 or 941 Hz) and one high "column" tone (1209, 1336, 1477 or 1633 Hz). When exactly one row and one column tone stand clearly above the rest for a few tens of milliseconds, the decoder reports the key where they cross. This page uses the Goertzel algorithm, the classic low-cost way of measuring a handful of specific frequencies.

Can I decode DTMF tones from a recording?

Yes. Choose an audio file (WAV, MP3, M4A, OGG or anything your browser can play). It is decoded on your device and the digits are listed with the time each one starts. Nothing is uploaded.

Why does the decoder miss some digits?

Tones shorter than about 40 ms, heavy compression (some VoIP and mobile codecs), background speech or music, and a microphone too far from the speaker all make detection harder. Hold the phone close to the mic, keep the room quiet, and make sure each tone lasts at least 50 ms with a similar gap.

Why does the same digit only show once when I hold a key?

A held key is one press. The decoder only adds a new digit after the tone stops and a new one begins, which is also how telephone exchanges count presses.

Is DTMF still used today?

Yes. Phone menus (IVR), voicemail, conference-call PINs, door-entry systems and amateur radio repeaters still rely on it. Over internet calls the digits are often sent as separate data events (RFC 4733) rather than audio, which is why a recording of a VoIP call sometimes contains no tones at all.

Keep testing

  • DTMF generatorTelephone keypad tones, single keys or whole sequences.
  • Spectrum analyzerReal-time FFT of your microphone with peak hold and note readout.
  • Mic testLive level meter, noise floor and a 5-second record-and-playback check.