Lastline — Auto Reading Position Saver
Never lose your place on the web again. Automatically remembers where you stopped on any webpage and takes you right back.
Lastline is a Chrome extension that automatically saves your scroll position on every webpage you read. Unlike bookmarking or remembering a page number, Lastline works in the background — no clicks, no manual saving, no effort. When you return to any page you've read before, it takes you right back to the exact spot where you left off, even if the page has changed since your last visit.
Core Philosophy
- Zero-effort tracking: Works automatically in the background — no clicks, no manual saves, no mental overhead.
- Anchor-based restoration: Finds your spot using text you read, not just a percentage — so it works even if the page reflows, ads load, or content shifts.
- Free first: Core save/restore, history (last 10 pages), and quick bookmarks (3 per page) are free forever.
- Privacy-respecting: Everything stays local to your browser. No accounts, no servers, no telemetry.
- Works everywhere: Every normal webpage (http/https) — articles, documentation, long-form content, forums, blogs.
What It Does
Auto-save position
As you scroll, your position is saved automatically. No bookmarking, no clicking — just read.
Anchor-based restore
Finds your spot using text you read, not just a percentage — so it works even if the page changes.
Progress bar
A subtle, always-visible progress bar at the top of every page shows how far you've read.
History & jump-back
Last 10 pages saved (free) — click any to jump straight back to where you left off.
Right-click controls
Jump to position, save now, or toggle tracking — all from the context menu.
Keyboard shortcuts
Alt+Shift+J to jump, Alt+Shift+S to save — instantly, from anywhere.
Quick bookmarks
Mark key positions with a single click — up to 3 per page, free forever.
SPA-aware
Detects route changes in single-page apps (Gmail, Twitter, etc.) and saves/restores correctly.
How It Works
Lastline uses a two-layer approach to find your position, making it more reliable than plain percentage-based savers:
1. Text Anchor (Primary)
When you scroll, Lastline captures a short snippet of text from the center of your viewport — the text you were actually reading. On return, it searches for that exact snippet in the page's current DOM. This works even if:
- An ad loads above the content
- Comments expand or collapse
- The page reflows due to font changes or window size
- Images finish loading and shift layout
2. Scroll Fraction (Fallback)
If the text snippet can't be found (e.g., the page content has changed completely, or the text was in a dynamic element that was removed), Lastline falls back to a scroll percentage — the same method most competitors use, but only as a backup.
3. Visual Marker
After restoring, a brief visual marker (underline glow, highlight, badge, or side indicator) appears where you left off, then fades away — so you know exactly where you were without the marker being distracting.
Free vs Pro ($5/mo)
| Feature | Free | Pro |
|---|---|---|
| Auto-save scroll position | ✅ Yes | ✅ Yes |
| Anchor-based restore | ✅ Yes | ✅ Yes |
| Progress bar (basic) | ✅ Yes | ✅ Yes |
| Quick bookmarks (3 per page) | ✅ Yes | ✅ Yes |
| Right-click menu & shortcuts | ✅ Yes | ✅ Yes |
| Per-site toggle & global on/off | ✅ Yes | ✅ Yes |
| History pages saved | Last 10 | Unlimited |
| Highlights (total) | Up to 50 | Unlimited |
| Custom progress bar color | ❌ No | ✅ Yes |
| Named markers (unlimited) | ❌ No | ✅ Yes |
| Reading dashboard (minutes read, pages, streak) | ❌ No | ✅ Yes |
| Export/Import all data | ❌ No | ✅ Yes |
| Cross-device sync (settings) | ✅ Yes | ✅ Yes |
Key Features Explained
Auto-Save & Restore
Lastline saves your position automatically as you scroll — no clicks required. When you revisit a page, it restores your position instantly. The save is debounced (0.6s) so it doesn't write to storage on every pixel scrolled.
Progress Bar
A subtle, always-visible strip at the very top of every page shows your reading progress. It updates smoothly as you scroll. The basic amber color is free; custom colors are Pro.
Text Highlights
Select any text on a page, and a small floating toolbar appears. Choose a color (yellow, green, blue, pink) to highlight the text. Highlights persist across visits and can be annotated with notes.
Markers vs Bookmarks
Two distinct ways to mark positions:
- ⭐ Quick Bookmarks (Free): Unnamed, auto-labeled bookmarks. Right-click "Quick Bookmark This Position" or use the popup. Up to 3 per page.
- ๐ Named Markers (Pro): Named, unlimited markers. Right-click "Add Named Marker Here (Pro)" — give it a name, and it appears in the popup's Markers list, ready to jump to.
Reading Dashboard (Pro)
Track your reading habits: total minutes read, pages read, and your current streak (consecutive days with reading activity). Time is counted only while the tab is visible — a background tab doesn't count as reading.
History & Jump-Back
The popup shows your last 10 saved pages (free) or unlimited (Pro). Each entry shows the page title, favicon, progress percentage, and time since last saved. Click "Jump" to open the page at your last position.
Keyboard Shortcuts
- Alt+Shift+J — Jump to last saved position on this page
- Alt+Shift+S — Save current position now
Customize these anytime at chrome://extensions/shortcuts.
Right-Click Context Menu
Right-click anywhere on a page to access:
- ๐ Jump to Last Saved Position
- ๐พ Save Position Now
- ๐ Add Named Marker Here (Pro)
- ⭐ Quick Bookmark This Position
- Toggle Tracking for This Site
Per-Site Controls
Use the popup's dropdown to exclude a site from tracking entirely. Excluded sites won't save or restore positions, and no progress bar or highlights will appear.
SPA / Single-Page App Support
Many modern sites (Gmail, Twitter/X, Reddit, etc.) load content dynamically without a full page reload. Lastline detects these route changes and saves/restores positions correctly for each page within the same app.
Custom Scroll Containers (Advanced)
For sites where the page itself doesn't scroll — only an inner panel does (chat apps, embedded editors, code editors) — you can configure a custom scroll container selector per hostname in Settings. This is a typed CSS selector, not a visual picker (you'll need to find the selector via DevTools).
Technical Details
How Position Restoration Works
Data Storage
- Storage: All data (history, highlights, markers, bookmarks, settings) is stored in
chrome.storage.local— local to your browser only. - Sync: Settings (global toggle, site rules, preferences) sync across devices via
chrome.storage.sync. Bulk data (history, highlights, markers) stays local due to Chrome's sync size limits. - Privacy: No data leaves your browser. No accounts, no servers, no telemetry.
URL Normalization
Lastline strips common tracking parameters from URLs (utm_*, fbclid, gclid, msclkid, etc.) so that the same page with different tracking codes doesn't appear as multiple entries in your history. Content-differentiating parameters (like ?page=2) are preserved.
SPA Route Detection
Lastline patches history.pushState and history.replaceState to detect route changes in SPAs, and listens for popstate events (back/forward navigation). On each route change, it restores the position for the new route and saves the position for the outgoing route.
Common Mistakes to Avoid
Highlights are saved automatically — they persist across visits. If a highlight doesn't appear after reloading, check that you're on the same URL and that you haven't exceeded the 50-highlight free limit.
Lastline works only on normal web pages (http:// or https://). Browser internal pages can't be scripted by any extension.
Quick Bookmarks (free) are auto-labeled, capped at 3 per page. Named Markers (Pro) are user-named, unlimited. They appear in separate lists in the popup.
Custom containers use fraction-only restoration. The anchor-based text restoration and visual marker are not supported for custom containers in this version.
Quick Reference
Keyboard Shortcuts
| Shortcut | Action |
|---|---|
Alt+Shift+J | Jump to last saved position on this page |
Alt+Shift+S | Save current position now |
Right-Click Menu
| Menu Item | Action |
|---|---|
| ๐ Jump to Last Saved Position | Scroll to your last saved spot |
| ๐พ Save Position Now | Manually save current scroll position |
| ๐ Add Named Marker Here Pro | Create a named marker at this position |
| ⭐ Quick Bookmark This Position | Save an unnamed bookmark (free, 3/page) |
| Toggle Tracking for This Site | Enable/disable tracking for current domain |
Free vs Pro Limits
| Item | Free | Pro |
|---|---|---|
| History entries | 10 | Unlimited |
| Highlights total | 50 | Unlimited |
| Quick bookmarks per page | 3 | 3 (fixed) |
| Named markers | 0 | Unlimited |
| Custom progress bar color | ❌ | ✅ |
| Reading dashboard | ❌ | ✅ |
| Export/Import | ❌ | ✅ |
Worked Example — Reading a Long Article
Scenario: You're reading a 10,000-word technical guide
Frequently Asked Questions
How does Lastline work on pages that change content dynamically?
Does Lastline work on PDFs or other non-HTML content?
What happens if I clear my browser data?
Does Lastline track my browsing history?
How do I activate Pro after purchasing?
What's the difference between a bookmark and a marker?
Does Lastline work in incognito mode?
chrome://extensions, find Lastline, and toggle "Allow in incognito." Data in incognito is stored separately and cleared when the incognito window closes.Why are some pages not showing in my history?
Accuracy Statement
Feedback & Support
- Privacy Policy: ExtensionHub Privacy Policy
- Contact: Contact Me
- User Guide: Lastline Guide
- Homepage: ExtensionHub.app
Lastline v1.0.0 — Never lose your place on the web again.
