A Firefox extension that adds a warm, customizable candlelight overlay to any webpage. Simulates the organic flicker of multiple candle sources along the edges of your screen, with adaptive text shadows and ambient room lighting effects.
- Directional Light Sources — Enable candlelight from any combination of edges (top, bottom, left, right), each with 7 independently flickering sources
- Organic Flicker — Hash-based value noise produces natural, non-repetitive candle animations that never loop
- Adaptive Text Shadows — Distance-dependent shadows cast from text, automatically detecting light/dark text and applying the appropriate shadow style
- Ambient Flicker — Subtle whole-page brightness fluctuation simulating distant candlelight on a wall
- Per-Site Control — Enable or disable the effect on individual websites
- Lightweight — Targets 30fps with GPU-composited overlays, pauses completely on background tabs
| Setting | Description |
|---|---|
| Distance | How far the light reaches from the edge |
| Flicker Speed | Speed of the candle animation |
| Warmth | Color temperature of the light |
| Intensity | Brightness of the light sources |
| Shadow Intensity | Strength of text shadows |
| Ambient Intensity | Strength of the whole-page flicker effect |
- Clone this repository
- Open Firefox and navigate to
about:debugging#/runtime/this-firefox - Click Load Temporary Add-on
- Select any file in the project directory (e.g.,
manifest.json)
- Package the extension as a
.zipfile - Submit to Firefox Add-ons for signing
- Install the signed
.xpifile
storage— Saves your preferences locally in the browser. No data is sent anywhere.
This extension requires no host permissions, does not collect any data, and makes no network requests. See PRIVACY.md for the full privacy policy.
- Manifest V3 (Firefox)
- Vanilla JavaScript — no dependencies, no build step
- CSS radial-gradient overlay with per-frame noise-driven animation
requestAnimationFramerender loop with visibility API pausebrowser.storage.localfor settings persistence
If you enjoy Flicker, consider supporting development: