The WordPress popup plugin that doesn't slow you down.
LightPopup loads under 5KB of JavaScript, only on pages that need it. Exit-intent, scroll triggers, click triggers — no bloat, no tracking, no SaaS fees.
No tracking, no CDN, no third-party calls
No SaaS fees, no premium wall
Built different.
Every decision made to protect your site's performance and your users' privacy.
Zero impact on pages without popups.
Most popup plugins load their CSS and JavaScript on every single page — even pages with no popup configured. LightPopup loads nothing unless the current page has an active popup. Your blog posts, about page, contact page — completely untouched.
5KB of vanilla JavaScript. No jQuery. No framework.
WordPress is moving away from jQuery, and so should your plugins. LightPopup is written in modern vanilla JavaScript — no dependencies, no framework overhead. The entire frontend footprint is under 5KB gzipped.
Four trigger types. Whichever fires first.
Exit-intent, time delay, scroll depth, and click trigger — configure multiple per popup and LightPopup fires whichever condition is met first. Each trigger respects your frequency settings.
GDPR-ready by design, not by afterthought.
Built in Estonia. LightPopup stores only a popup ID and expiry timestamp in localStorage — no cookies, no personal data, no tracking. No consent banner required for the dismiss mechanism.
Accessible out of the box.
Uses the browser's native HTML dialog element — keyboard navigation, focus trapping, and ESC-to-close built in. Three close methods: visible × button, click outside, ESC key. WCAG 2.1 AA compliant.
Plays nice with your stack.
Block editor for popup content — use any block, shortcode, or form plugin. Compatible with WP Rocket, WP Super Cache, SiteGround Cache. GitHub-hosted releases.
How LightPopup compares.
Measured on a clean WordPress 6.x installation.
| Feature | LightPopup | Popup Maker | OptinMonster | Icegram |
|---|---|---|---|---|
| Frontend JS size | < 5KB ✓ | ~45KB | External SaaS | ~35KB |
| Loads on all pages | No ✓ | Yes | Yes | Yes |
| jQuery dependency | None ✓ | Yes | N/A | Yes |
| External requests | 0 ✓ | 0 | Multiple | 0 |
| Price | Free ✓ | Free + paid | $9–49/mo | Free + paid |
| GDPR (no consent) | Yes ✓ | Configurable | Configurable | Configurable |
| Exit-intent (free) | Yes ✓ | Paid extension | Paid plan | Paid plan |
| Self-hosted | Yes ✓ | Yes | No (SaaS) | Yes |
| Source code | GitHub GPL ✓ | WordPress.org | Proprietary | WordPress.org |
Benchmarks measured on a clean WordPress 6.x installation. Your results may vary.
Up and running in 3 minutes.
No configuration hell. No API keys. No account required.
Install
Download the .zip from GitHub and upload via WordPress → Plugins → Add New → Upload Plugin.
Create a popup
Go to LightPopup → Add New. Write your content in the block editor. Set your trigger and targeting rules.
Done
LightPopup handles the rest — conditional loading, responsive display, frequency control, and accessibility.
Frequently Asked Questions
Does LightPopup work with caching plugins?
Does the LightPopup dismiss mechanism require GDPR cookie consent?
Why isn't LightPopup on WordPress.org?
Can I use form plugins inside LightPopup popups?
Does LightPopup support mobile devices?
Who built LightPopup?
How do I update the plugin?
Should I use this or build something similar myself?
Popups shouldn't slow your site down.
Download LightPopup — free, open source, and under 5KB.
Download from GitHub → View the source code →