Skip to content
o.o
Go back

Crackling Campfire

Listen & Download

🔥 Campfire Sound

00:00.0 ELAPSED
bit
/
rate
/
ch
75%

Original volume: — adjust the slider to change playback volume

Ad Space

What Is This Sound?

This is a synthesized campfire sound created entirely using the Web Audio API — no recordings of real fires involved. The deep roar, steady hiss, and random crackling pops you hear are all generated mathematically by your browser in real-time.

Campfire sounds are among the most comforting ambient textures available. The combination of steady warmth and unpredictable crackle creates a sound profile that is simultaneously calming and engaging — which is why fire sounds are a staple in relaxation apps, ASMR content, and ambient soundscapes.

How Is Campfire Sound Created with Code?

Fire sound synthesis follows the Farnell fire model, which decomposes fire into three acoustic components: the convective roar of rising hot air, the hiss of burning gases, and the stochastic crackle of moisture and resin pockets exploding.

Layer 1: Convective Roar (Brown Noise + Lowpass 300Hz)

The deep, continuous base of a fire is the sound of hot air rising through the flame column. Brown noise through a lowpass filter captures this low, rumbling quality:

// Brown noise → lowpass for deep fire roar
const roarFilter = audioContext.createBiquadFilter();
roarFilter.type = "lowpass";
roarFilter.frequency.value = 300;
roarFilter.Q.value = 0.6;

const roarLfo = audioContext.createOscillator();
roarLfo.frequency.value = 0.2; // Slow convective variation

Layer 2: Gas Hiss (Pink Noise + Bandpass 2500Hz)

The mid-range hissing sound of volatiles and gases burning off the wood surface is pink noise filtered around 2500Hz:

// Pink noise → bandpass for gas combustion hiss
const hissFilter = audioContext.createBiquadFilter();
hissFilter.type = "bandpass";
hissFilter.frequency.value = 2500;
hissFilter.Q.value = 0.8;

const hissLfo = audioContext.createOscillator();
hissLfo.frequency.value = 0.35;

Layer 3: Crackle Pops (White Noise + Highpass 4000Hz + Random Bursts)

The defining character of a campfire — the random pops and crackles — is white noise with a highpass filter, triggered in very short, randomly-timed bursts:

// White noise → highpass for crackle pops
const crackleFilter = audioContext.createBiquadFilter();
crackleFilter.type = "highpass";
crackleFilter.frequency.value = 4000;
crackleFilter.Q.value = 1.0;

// Random burst envelope — short, sharp pops
const crackleGain = audioContext.createGain();
crackleGain.gain.value = 0;

function scheduleCrackle(time) {
  crackleGain.gain.setValueAtTime(0.6, time);
  crackleGain.gain.exponentialRampToValueAtTime(0.01, time + 0.02);
  // Schedule next crackle at random interval
  const next = time + 0.05 + Math.random() * 0.3;
  scheduleCrackle(next);
}

Signal Chain

Each layer runs independently into the master output, with the crackle layer’s random timing providing the organic, unpredictable quality that makes fire sound recognizable:

// Roar:    Brown noise → lowpass 300Hz → LFO gain → master
// Hiss:    Pink noise → bandpass 2500Hz → LFO gain → master
// Crackle: White noise → highpass 4000Hz → burst envelope → master

Ad Space

The Science Behind Campfire Sound

The Farnell Fire Model

Andy Farnell’s procedural audio model identifies three distinct acoustic sources in a wood fire:

  1. Convective roar — Rising hot air creates turbulent airflow above the fire, producing continuous low-frequency noise similar to wind. This is the “body” of the fire sound.

  2. Gas combustion hiss — As wood heats, volatile compounds (resins, sap, terpenes) vaporize and ignite above the surface. This combustion produces a steady mid-frequency hiss.

  3. Moisture/resin crackle — Pockets of water and resin trapped inside the wood expand rapidly when heated, eventually rupturing the wood fiber. Each rupture produces a short, sharp broadband burst — the characteristic “pop” or “crack.”

The interplay of these three layers — steady base, steady mid, and random transients — is what makes campfire sound instantly recognizable and difficult to fake with simple noise alone.

Frequency Spectrum

ParameterValue
Layer 1 (Roar)Brown noise, lowpass 300Hz, Q 0.6
Layer 2 (Hiss)Pink noise, bandpass 2500Hz, Q 0.8
Layer 3 (Crackle)White noise, highpass 4000Hz, random bursts
LFO Rates0.2Hz (roar) / 0.35Hz (hiss)
Crackle Duration~20ms per pop, random spacing
Output Level-10dB (comfortable listening)

Common Uses

Technical Details

PropertyValue
FormatWAV (PCM 16-bit / 24-bit / 32-bit float)
Sample Rate44,100 Hz / 48,000 Hz
ChannelsMono / Stereo
Duration3 seconds (loopable)
GenerationWeb Audio API
LicenseFree for personal and commercial use

Ad Space

Frequently Asked Questions

Can I use this sound in my project?

Yes. The sound is generated by code in your browser. The output WAV file is yours to use freely in any personal or commercial project.

Why does the crackling sound different every time?

The crackle layer uses randomly timed noise bursts — each render produces pops at different moments with different intensities. This mirrors real fire, where crackle timing is genuinely stochastic and never repeats.

How do I make it loop seamlessly?

The downloaded 3-second WAV file can be looped in most audio software or game engines. For seamless looping, import it into a DAW and apply a short crossfade at the loop point.

Can I make a bigger or smaller fire?

Yes. For a large bonfire, boost the roar layer and lower its filter frequency. For a small, intimate fire, reduce the roar, increase the crackle rate, and raise the hiss filter frequency. The balance between the three layers determines the perceived size of the fire.


Related Sounds

Share this post on:

Previous Post
White Noise
Next Post
808 Kick