ToolActToolAct

Decibel Meter

Online sound level meter, measure ambient noise in real time

0dB
Very Quiet
Current0dB
Min--dB
Max--dB
Average--dB
Start detection to see real-time waveform

Decibel Level Reference

0-30 dBVery Quiet
30-60 dBQuiet
60-80 dBNormal
80-100 dBLoud
100+ dBDangerous

What is a Decibel Meter?

A decibel meter estimates ambient sound level through the microphone and displays the result in dB. In a browser, this should be treated as a practical reference rather than a calibrated scientific measurement, because built-in microphones, automatic gain control, operating-system filters, browser behavior, and device placement all affect accuracy. The reading can still compare quiet and noisy situations, check fan or street noise, test an audio setup, or show whether a change reduced sound level. For workplace safety, legal evidence, construction acceptance, or professional acoustics, calibrated sound level meters and defined measurement procedures are required. Audio processing stays local in the browser.

How to Use

How to use

  1. Click "Start Detection" and allow the browser to access your microphone
  2. Wait for device initialization - the gauge will display real-time dB values
  3. Observe the level bar to understand the current noise level
  4. The stats panel records minimum, maximum, and average dB values
  5. Click "Reset Stats" to clear history and start fresh

Measurement Tips

  • Browser decibel readings depend on microphone sensitivity, system gain, and device placement, so treat them as approximate comparisons rather than certified measurements.
  • For steadier results, keep the microphone in the same position and avoid touching the device while recording.

Use Cases

Estimate room noise with the selected microphoneStart measurement, choose an input deviceId, and watch the current dB estimate update from live Web Audio RMS samples. The page labels levels from silent and quiet through normal, loud, and dangerous, so a noisy HVAC vent, an open window facing a road, or a buzzing PC fan can be ranked against the same scale in seconds.
Watch both meter and waveform while testing audioUse the gauge, waveform canvas, and min/max/average readings to compare rooms, fans, microphones, recording setups, or call environments over a short session. Reproduce the noise source (typing, vacuum, A/C) on each run so a 3-6 dB shift in the average is meaningful instead of just mic placement variance.
Treat the reading as a browser estimate, not a calibrated sound meterThe calculation is based on Web Audio AnalyserNode RMS data and uncalibrated device gain behavior, so treat it as a comparison and awareness reading rather than legal, workplace, or medical noise certification. Use a Class 2 IEC 61672 sound level meter when the measurement has safety, OSHA compliance, or contractual consequences.
Compare two devices or rooms with consistent placementKeep the microphone at the same distance, angle, and stand when A/B testing a headset, speaker, or treated room, so the dB delta reflects the change instead of measurement geometry. Hold the device on the same surface and avoid moving between samples, since the room noise floor itself shifts with seating, windows, and even curtains drawn open or closed.
Watch min/max/average rather than the live needle onlyUse the captured min, max, and average values over a fixed window to catch intermittent spikes like HVAC cycles, refrigerator compressors, or typing on a loud mechanical keyboard with Cherry MX Blue or Holy Panda switches. The instantaneous dBA reading swings wildly with speech and movement, so the min/max pair exposes short transient noise that an average would otherwise hide.

Technical Principle

Sound level estimation in the browser starts with the MediaDevices.getUserMedia({audio: true}) API, which exposes the selected input device as a MediaStream. The stream is routed into an AudioContext, then through a MediaStreamAudioSourceNode and an AnalyserNode. Calling AnalyserNode.getFloatTimeDomainData(buffer) every animation frame fills a Float32Array of normalized samples in the range [-1, 1]; from these samples the page computes the root-mean-square amplitude rms = sqrt(sum(x_i^2) / N), and converts it to a relative level in decibels full scale as dBFS = 20 * log10(rms). Because dBFS is a digital reference (0 dBFS = full-scale square wave), it is not an absolute physical pressure level. Converting dBFS to dB SPL (the physical pressure scale used by Class 1 and Class 2 IEC 61672 sound level meters) requires a calibration offset measured with a reference source such as a 94 dB SPL pistonphone, which uncalibrated laptop and phone microphones do not provide. A getFloatFrequencyData() spectrum can be derived from the same AnalyserNode for FFT-based octave-band analysis, but A-weighting and slow/fast time integration (125 ms / 1 s) defined in IEC 61672 are not part of the Web Audio default. Readings drift with automatic gain control, OS-level noise suppression in echoCancellation/noiseSuppression constraints, microphone directivity (omnidirectional MEMS vs cardioid USB), and distance attenuation that follows the inverse square law (-6 dB per doubling of distance in free field). Public health thresholds the gauge labels against include the WHO recommendation of 85 dBA for 8 h and the OSHA 1910.95 permissible exposure of 90 dBA for 8 h with a 5 dB exchange rate.

  • MediaDevices.getUserMedia({audio: true}) requires a secure context (HTTPS or localhost) and a per-origin user gesture; denial cannot be reversed without a site-permission reset.
  • AnalyserNode.fftSize must be a power of two between 32 and 32768; getFloatTimeDomainData() runs in O(fftSize) per frame at the audio context sample rate (commonly 44100 or 48000 Hz).
  • RMS-to-dBFS uses 20*log10(rms); guard against log10(0) by clamping rms to a small epsilon (e.g. 1e-10) to avoid -Infinity at silence.
  • Browser AGC and noiseSuppression constraints are enabled by default in Chrome and Edge; pass {echoCancellation: false, noiseSuppression: false, autoGainControl: false} to keep the level meter from chasing its own gain.
  • dBFS is not dB SPL: a published 94 dB SPL pistonphone or sound calibrator is required to convert browser readings into physical pressure for OSHA, ISO 9612, or NIOSH workplace use.
  • WHO recommends 85 dBA / 8 h exposure with a 3 dB exchange rate; OSHA 1910.95 uses 90 dBA / 8 h with a 5 dB exchange rate, so the same dBA reading maps to different allowable durations under each standard.
  • Inverse square law gives roughly -6 dB per doubling of distance in free field, so microphone placement repeatability of a few centimeters is usually the dominant measurement error.

Examples

Everyday sound reference table

   0 dB  - Threshold of hearing
  30 dB  - Whisper, quiet bedroom at night
  40 dB  - Library, refrigerator hum
  60 dB  - Normal conversation, office chatter
  70 dB  - Vacuum cleaner, busy restaurant
  85 dB  - Heavy city traffic (WHO hearing-damage threshold)
  90 dB  - Subway train, motorcycle 8 m away
 110 dB  - Live rock concert, chainsaw
 120 dB  - Jet engine at 30 m (pain threshold)
 140 dB  - Firework, gunshot (immediate hearing damage)

WHO / OSHA exposure guidelines

Recommended maximum daily exposure before risk of hearing loss:
  85 dB  -> 8 hours
  88 dB  -> 4 hours
  91 dB  -> 2 hours
  94 dB  -> 1 hour
  97 dB  -> 30 minutes
 100 dB  -> 15 minutes
 110 dB  -> under 2 minutes
Source: WHO Make Listening Safe, OSHA 1910.95

Sample 60-second living-room measurement

Microphone : Built-in MacBook Air
Location   : 1 m from window, mid-afternoon

Current : 38 dB
Min     : 32 dB  (quiet stretch)
Max     : 71 dB  (car horn outside)
Average : 44 dB  -> classified as Quiet -> Normal

Headset noise-cancellation A/B test

Test: HVAC fan running, fixed mic placement
  Without ANC : avg 58 dB,  max 64 dB
  With ANC on : avg 41 dB,  max 47 dB
Delta       : -17 dB average, -17 dB peak
Conclusion  : Roughly a 6x perceived loudness reduction (every 10 dB ~ 2x loudness).

FAQ

How accurate is the dB reading?

Web microphones are not calibrated for absolute SPL (sound pressure level). The reading is a relative dBFS (digital full-scale) value the page maps to an approximate dB SPL using a calibration constant. Real noise measurement needs a calibrated SPL meter; treat the web reading as relative trend, not legal-grade noise data.

What weighting does it use?

Most builds report unweighted (linear) values. A real SPL meter offers A-weighting (matches human ear response, used for environmental noise) or C-weighting (used for peak machinery noise). For human-perceived loudness, the unweighted browser reading is roughly indicative but not formally A-weighted.

What's a reasonable dB range?

Whisper ~30 dB; normal conversation ~60 dB; busy traffic ~80 dB; lawn mower ~90 dB; rock concert ~110 dB; gunshot ~140 dB. Sustained exposure above 85 dB damages hearing over time. A web reading is not for occupational compliance - use it for a rough sense, not for OSHA-style measurements.

Is the audio uploaded?

No. The microphone signal is processed locally - the page reads the audio waveform via Web Audio API and computes dB locally. Nothing is recorded or transmitted.

Why does my reading vary so much?

Microphone position, room acoustics, automatic gain control (AGC), and background noise all change the input level. Real SPL meters use omnidirectional microphones and disable AGC; consumer device mics are directional and gain-adjusted, which makes consistent readings hard.

Can I use it to test if a room is quiet enough for recording?

Yes for ballpark - aim for sub-30 dB (very quiet) for podcast or music recording. The exact reading isn't trustworthy, but a dramatic difference between the same mic in two rooms is meaningful.

Does it work without microphone permission?

No. The page needs explicit microphone permission to read the audio stream. Allow it in the browser prompt to use the meter. Revoke afterwards via the address-bar permission icon.