Pop Forever

Infinite bubble wrap that never runs out. Tap, drag, and pop — the wrap always fills back in.

0 Total pops
Tap or drag across the bubbles to pop
Tap or click to popHit any bubble to burst it.
Drag to swipe-pop manySweep across to clear a path.
Golden bubbles chain-popRare — they set off a ring.

A quick break that never ends

Pop Forever is endless virtual bubble wrap. Every bubble you pop quietly fills back in a few seconds later, so the field is always alive and there is nothing to finish. No goals, no timer, no game over — just the satisfying pop, over and over, for as long as you feel like it.

It is built for the little pause between tasks: while an export renders, while you wait on hold, or whenever you need to reset your focus. Drag across the field to swipe-pop a whole row at once, use several fingers on a touchscreen, and keep an eye out for the rare golden bubble that sends a chain reaction rippling outward. Your total is saved in your browser, so it keeps climbing every time you come back.

How the wrap behaves

A popped bubble does not vanish. It stays flat for a few seconds, then quietly inflates again in the same cell, which is why the sheet never develops a bald patch and why you can keep sweeping the same area without running out. The refill is staggered per bubble rather than done in waves, so the field breathes instead of blinking — some cells are always coming back while others are still flat.

Golden bubbles are rare, appearing roughly one and a half times in a hundred, and only a few can exist at once so the screen never turns into a fireworks display. Popping one triggers a ring that spreads outward through its neighbours and pops them for you, each with its own small delay, which is where the satisfying cascade comes from. It is the one moment the screen gives a little shake — ordinary pops never do, so the shake stays meaningful.

The grid resizes itself to your screen, growing or shrinking each cell so the bubbles stay a comfortable thumb-size on a phone and do not become a wall of tiny dots on a wide monitor. Sound can be muted, and that preference is remembered along with your running total. If your system is set to reduce motion, the effects are toned down and the bubbles actually return a little faster.

Who it is for

It is for anyone who thinks better with their hands busy. There is no score to protect, no streak to break and nothing that punishes you for closing the tab, which makes it a safe thing to open for ninety seconds in the middle of real work. The running total is there if you enjoy watching a number climb, and entirely ignorable if you do not.

It is also the quiet one. Foam Crush is the same destructive impulse with the volume up — a nugget of florist's foam that cracks, crackles and caves in to dust — and it is the one toy in the fidget room that really wants sound. If you would rather come away with something instead of wrecking it, Inkblot Bloom ends with a symmetrical blot you can save as a PNG.

Is the sheet infinite, or is it recycling?

Recycling — and the distinction is the interesting part. When the page sizes itself it lays out a grid whose cell is a ninth of the shorter side of the field, clamped between 48 and 84 pixels; if that would produce more than 260 bubbles, the cell grows four pixels at a time until it doesn't. Each bubble is then nudged off its grid position by up to eighteen percent of a cell and given a radius between 0.36 and 0.44 of one, which is why the sheet reads as hand-laid rather than printed on graph paper.

Those cells are all there ever are. A bubble is only ever in one of four states. Popping puts it in the popping state for eighty milliseconds, during which it swells about a quarter past its normal size — that outward push is the burst you see. Then it lies flat for a randomly chosen three to six seconds, and then spends between half a second and nine tenths of a second inflating back on an ease that overshoots slightly and settles. Because every cell rolls its own delay independently, refills never arrive as a wave: some cells are always flat while others are on the way back, which is what stops the field from blinking. Press R, or the reshuffle button, and the whole layout is rebuilt from scratch with fresh positions and colours.

Is that a recording of real bubble wrap?

No. There is no audio file anywhere on this page. Every pop is assembled on the spot with the Web Audio API, and the audio context isn't even created until your first pop. A pop is two layers played together: a triangle-wave oscillator whose pitch starts high and slides exponentially down to about a third of where it began over ninety milliseconds, reaching full volume in six milliseconds and gone inside a hundred and ten; and underneath it a very short burst of white noise pushed through a narrow band-pass filter, which supplies the click.

No two pops are identical because the base frequency is recomputed for each one from two inputs: the bubble's own radius relative to the largest on the field, which spreads the pitch across roughly 200 Hz with smaller bubbles landing higher, and a random offset of up to forty Hz either way stacked on top. The golden pop is a different sound altogether — four sine tones at 523, 659, 784 and 1047 Hz, fired fifty milliseconds apart. That is a C major arpeggio across two octaves, which is why it reads as a reward rather than a louder pop.

What makes a bubble come back gold?

Nothing you do. The check runs at the exact moment a refilling bubble finishes inflating: if fewer than three golden bubbles are currently on the field, it has a 1.5 percent chance of coming back gold. Gold is therefore a property of a refill rather than of a pop, and that hard cap of three is what stops a long session from slowly turning the sheet yellow. Popping one collects every idle bubble within about three and a bit cell-widths, sorts them nearest-first, and releases them on a stagger of roughly twenty-five milliseconds per cell of distance. The ordering is the whole effect: the ring visibly travels outward instead of everything going at once.

What if you want it silent and still?

Mute is the SND button or the M key, and the setting is kept in your browser's local storage under popforever_muted, next to your running total under popforever_total; the total is written at most once every 1.2 seconds rather than on every pop. Muting also switches off the short vibration on phones that support it. Separately, if your system asks for reduced motion the page reads that setting and drops the ink shards and expanding rings entirely, skips the screen shake, tightens the chain stagger, and shortens both the flat gap and the inflate — so bubbles come back noticeably sooner. Neither stored value ever leaves your browser: there is no account, no leaderboard, and nothing you do in the field is sent anywhere.

Frequently asked questions

Is Pop Forever really endless?

Yes. Every bubble you pop quietly fills back in after a few seconds, so the wrap never runs out. There's no level, no timer, and no game over — just pop as long as you like.

How do I pop many bubbles at once?

On desktop, press and drag your mouse across the field to swipe-pop everything you touch. On phones and tablets, use multiple fingers at the same time. Rare golden bubbles trigger a chain reaction that pops the bubbles around them.

How rare are the golden bubbles?

About one and a half in every hundred bubbles comes back gold, and only a small number are allowed on the field at any one time, so they stay an occasional treat rather than a constant effect. Popping one sets off a ring through the bubbles around it, and that is the only thing in the game that shakes the screen.

Can I turn the sound off, or reduce the motion?

Yes to both. There is a mute control, and your choice is remembered for next time. If your operating system is set to reduce motion, the page picks that up automatically and tones the animation down — with the side effect that popped bubbles refill slightly quicker.

Does it save my total, and does it work offline?

Your total pop count is saved in your browser, so it's still there when you come back. Everything runs locally in the page with no sign-up, so once it's loaded it keeps working even with a flaky connection.