Table of Contents
How Offline Works: Service Workers
The Technology
Service Workers are browser scripts that run in the background, independent of web pages. They intercept network requests and serve cached responses—enabling full offline functionality.
Our Caching Strategy
| Asset Type | Strategy | Duration |
|---|---|---|
| App shell (HTML, CSS, JS) | Cache-first | 1 year |
| WebAssembly modules | Cache-first | 1 year |
| PDF libraries (pdf-lib, pdf.js) | Cache-first | 1 year |
| Fonts | Cache-first | 1 year |
| Images/icons | Cache-first | 1 year |
On first visit, everything needed for offline use is cached. Subsequent visits load instantly from cache—even online.
Supported Platforms
| Platform | Offline Support | Notes |
|---|---|---|
| Chrome/Edge (Desktop) | ✅ Full | Best experience |
| Firefox (Desktop) | ✅ Full | Excellent support |
| Safari (macOS/iOS) | ✅ Full | iOS 16.4+ required |
| Chrome (Android) | ✅ Full | Install as PWA |
| Chromebook | ✅ Full | Native feel |
| Samsung Internet | ✅ Full | Good PWA support |
Installing as a PWA (Progressive Web App)
Desktop (Chrome/Edge)
- Visit onlinepdfeditors.com
- Click the install icon in address bar (➕ or 📥)
- Confirm "Install"
- App opens in its own window, works offline
Mobile (Chrome Android)
- Open site in Chrome
- Tap ⋮ menu → "Install app" or "Add to Home screen"
- Launch from home screen like a native app
iOS (Safari)
- Open in Safari
- Tap Share → "Add to Home Screen"
- Tap "Add"
- Works offline from home screen icon
What Works Offline
- ✅ All PDF tools: Merge, split, compress, rotate, convert, protect, unlock, watermark, page numbers, organize
- ✅ Full processing: WebAssembly runs identically offline
- ✅ File access: Drag-drop or file picker works without network
- ✅ Downloads: Save results to device storage
- ✅ Multi-file operations: Process batches offline
What Requires Internet
- ❌ First visit: Initial cache population
- ❌ Updates: New versions fetch on next online visit
- ❌ Analytics: Anonymous usage stats (optional, opt-out available)
- ❌ External links: Links to documentation, support, etc.
Air-Gapped Environments
Secure Facilities
Government, defense, healthcare, and financial institutions often operate air-gapped networks (no internet). Our tools work because:
- No server calls: Architecture has zero network dependencies
- Self-contained: All code + WASM bundles cached locally
- No telemetry: No analytics, no tracking, no phone-home
- Verifiable: Inspect network tab—zero requests during processing
Deployment for Air-Gapped Use
For organizations needing guaranteed offline access:
- Pre-cache on connected device: Visit site, let Service Worker cache everything
- Export cache (advanced): Copy
Cache Storagefrom DevTools - Distribute via USB: Transfer cached assets to air-gapped machines
- Serve locally: Host on internal HTTP server (even
python -m http.server)
Or simply: visit once while connected, then disconnect. The cache persists.
Chromebook Optimizations
Chromebooks are ideal for our offline editor:
- Linux-free: No Crostini/Linux needed—runs in browser
- Low RAM friendly: WASM memory managed by browser
- Keyboard shortcuts: Full support in PWA window
- File system access: Native Files app integration
- Auto-updates: Chrome OS updates Service Worker automatically
Verifying Offline Readiness
Check Cache Status
Open DevTools (F12) → Application tab → Cache Storage → onlinepdfeditor-assets
- Should show 50+ cached resources
- Total size ~15-20 MB (WASM modules dominate)
Test Offline
- Open DevTools → Network tab
- Check Offline checkbox
- Refresh page — loads from cache
- Use any tool — processes without network
Service Worker Status
{`// In console
navigator.serviceWorker.ready.then(reg => {
console.log('SW active:', reg.active.state);
caches.keys().then(keys => console.log('Caches:', keys));
});`}
Privacy in Offline Mode
Offline mode enhances our privacy guarantees:
- Zero network surface: No possibility of data exfiltration
- No analytics: Even optional analytics can't fire
- No update checks: Version stays frozen until you reconnect
- Full auditability: Network tab proves zero requests
Troubleshooting
| Issue | Solution |
|---|---|
| "Not working offline" | Visit once online, wait for SW install (check Application tab) |
| "Tools missing" | Clear cache, revisit online, re-cache |
| "PWA won't install" | Use HTTPS (required), check manifest.json loads |
| "iOS offline fails" | Ensure iOS 16.4+, use "Add to Home Screen" not bookmark |
| "Large files fail" | Close other tabs; WASM needs contiguous memory |
The Future: Background Sync
We're exploring Background Sync API for:
- Queue operations when offline
- Auto-sync results when reconnected
- Conflict resolution for collaborative workflows
All while maintaining zero-server architecture.
Try Offline Today
- Visit onlinepdfeditors.com while online
- Wait a few seconds for "Ready for offline use" indicator
- Disconnect internet (airplane mode, unplug ethernet)
- Open any tool — it works
Or install as PWA for the best offline experience.
No account. No cloud. No compromise. Your PDF tools, anywhere.