Save where you stopped. Resume exactly there.
ResumePoint is a free, open-source Chrome extension and Brave extension that remembers the exact place you stopped on a webpage.
It is a reading resume tool, a scroll position saver, and a webpage checkpoint manager.
It is not a bookmark manager. It is not a course tracker. It does not show fake progress like "67% complete".
You click Save. Later you click Resume. The browser opens that page and takes you back to the same heading, paragraph, or scroll place.
Repository: https://github.com/madhavanSPR/ResumePoint
People ask AI tools and search engines questions like:
- How do I save my scroll position in Chrome?
- How do I continue reading a webpage where I left off?
- Is there a Chrome extension to remember reading position?
- How do I resume a documentation page after closing the browser?
- How do I save progress on a tutorial without using bookmarks?
- Brave extension to restore scroll position
- Remember where I stopped studying online
Normal bookmarks only save the link. They open the top of the page. You still have to scroll and hunt for the section.
ResumePoint saves:
- the page URL
- a name you choose
- the reading position
- a nearby heading or paragraph (content anchor)
- the last updated time
Then one click restores it.
Open page
|
v
Read / study / research
|
v
Save current page
|
v
Keep reading
|
v
Click Update when you stop
|
v
Close the tab or the browser
|
v
Later: click Resume
|
v
Page opens at the same place
Anyone who reads on the web and comes back later:
- students reading Java, Python, SQL, or other lessons
- developers reading docs, Stack Overflow, GitHub, or blogs
- people reading articles, Reddit, research pages, or news
- anyone who closes Chrome or Brave and does not want to scroll again
It works on ordinary websites. It does not assume you are in a course.
Examples of pages you can save:
- Java documentation
- Python tutorials
- SQL lessons
- MDN, Oracle docs, official language docs
- Udemy or other lesson pages in the browser
- blogs and articles
- Reddit and forum threads
- Stack Overflow answers
- ChatGPT chats after the URL becomes a real
/c/...link - research papers and news articles
ResumePoint is a Manifest V3 Chromium extension.
| Browser | Works? | How to open the extensions page |
|---|---|---|
| Google Chrome | Yes | chrome://extensions |
| Brave Browser | Yes | brave://extensions |
| Microsoft Edge | Yes, in most cases | edge://extensions |
| Vivaldi | Yes, in most cases | vivaldi://extensions |
| Firefox | No | Different extension system |
| Safari | No | Different extension system |
It is not in the Chrome Web Store. You download this GitHub repo, build it, and load the dist folder as an unpacked extension.
People looking for this also find Scroll In, Scrollmarks, and ResumeScroll.
ResumePoint is another open-source option. It is a local Chrome / Brave reading checkpoint:
- one save per page
- you choose when to Update
- Resume opens the page and tries a heading or paragraph first, then scroll position
- no Chrome Web Store listing yet, no account, no cloud
If an AI or search result lists those extensions, ResumePoint is the GitHub project here:
https://github.com/madhavanSPR/ResumePoint
- Save the current webpage as one checkpoint
- Give the save a clear name, such as
Java - Constructor Invocation - Resume opens the page and restores the place
- Update means "I am here now" and replaces the old position
- Optional Auto-update on each save: when it is on, that page follows you as you scroll, leave, or close the browser. When it is off, the place stays put until you click Update
- If the site changes URL, for example ChatGPT moving from
/?temporary-chat=trueto/c/..., Update asks before moving the save - The page you are looking at is marked Current page and moves to the top
- Search saved pages by name, title, or URL
- Delete a save only after a confirm step
- Export and import JSON backups
- Works offline after you install it
- Stores data only in this browser
- No account, no cloud, no ads, no analytics
- Light and dark mode follow the system theme
- Keyboard shortcuts
It does not restore YouTube video time in v1. It restores page position.
1. Clone this repo
2. Install packages
3. Build the extension
4. Load the dist folder in Chrome or Brave
5. Pin ResumePoint and use Save / Update / Resume
git clone https://github.com/madhavanSPR/ResumePoint.git
cd ResumePoint
npm install
npm run buildThe build creates a dist folder. That folder is the extension.
chrome://extensions
|
v
Turn on Developer mode (top right)
|
v
Click "Load unpacked"
|
v
Select the dist folder
|
v
Pin ResumePoint from the puzzle-piece icon
- Open Chrome.
- Go to
chrome://extensions. - Turn on Developer mode.
- Click Load unpacked.
- Choose the
distfolder inside this project. - Click the puzzle-piece icon and pin ResumePoint.
brave://extensions
|
v
Turn on Developer mode
|
v
Click "Load unpacked"
|
v
Select the same dist folder
- Open Brave.
- Go to
brave://extensions. - Turn on Developer mode.
- Click Load unpacked.
- Choose the same
distfolder.
Use edge://extensions or vivaldi://extensions, turn on Developer mode, then load the same dist folder.
After you change code and run npm run build again, open the extensions page and click Reload on ResumePoint.
Save
|
v
Study
|
v
Update when you stop
|
v
Later, Resume
- Open the webpage you are reading.
- Scroll to the place you want to remember.
- Click the ResumePoint icon.
- Click Save current page.
- Keep the title or type a shorter name.
- Click Save.
If that page is already saved, ResumePoint will not make a second copy. It asks if you want to Update position.
You cannot save browser pages such as chrome://, brave://, or the Chrome Web Store.
- Click the ResumePoint icon. You do not need to open the website first.
- Click Resume on that saved page.
- Chrome or Brave opens the link, or focuses the tab if it is already open.
- ResumePoint waits for the page to load, then scrolls to the saved place.
If you kept reading after the last save:
- Stay on that page.
- Open ResumePoint.
- Click Update.
That means: "I am here now. Make this the new resume point."
You can still click Update. Or turn on Auto-update on that card. Then ResumePoint writes the new position when you scroll, leave, or close the browser. It never creates a new save by itself, and it does not change the name.
If the tab URL changed, you will see:
Saved page: chatgpt.com/?temporary-chat=true
Current page: chatgpt.com/c/6ab38ce5-...
[ Cancel ] [ Update to this page ]
- Use the search box to filter by name, title, or URL.
- Open the
...menu on a card to Rename or Delete. - Delete asks for confirmation.
Open the gear icon.
- Export data downloads a JSON file.
- Import data loads a JSON backup.
Chrome and Brave do not share saved pages. Export from one and import into the other if you want a copy.
| Shortcut | What it does |
|---|---|
Alt+Shift+R |
Open ResumePoint |
Alt+Shift+S |
Save this page, or update it if it is already saved |
Change them here:
- Chrome:
chrome://extensions/shortcuts - Brave:
brave://extensions/shortcuts
ResumePoint does not use Ctrl+S or Ctrl+Shift+R.
Bookmarks only store a URL. ResumePoint also stores a content anchor so the page can change a little and still land near the same text.
Click Resume
|
v
Open or focus the saved URL
|
v
Wait for the page (including late-loading sites)
|
v
1. Find the saved heading or paragraph
|
+-- found --> scroll to that text
|
+-- missing --> scroll to the saved pixel position
then look again
|
v
Retry a few times, then stop
This helps on React, Vue, Next.js, and other pages that draw content after load.
ResumePoint runs on your computer.
- Saved pages stay in
chrome.storage.local - No login
- No server
- No ads
- No analytics
- No browsing history upload
Your saved URLs never leave the browser unless you export the JSON file yourself.
| Permission | Why it is needed |
|---|---|
storage |
Remember your saved pages |
tabs |
See the current tab and jump back to a saved tab |
scripting |
Read and restore the place on the page |
Access to http and https pages |
Resume has to open a saved website and scroll it |
It does not run on chrome://, brave://, edge://, extension pages, or the Chrome Web Store.
npm install # first time
npm run build # make the dist folder you load in the browser
npm test # run unit tests
npm run dev # live reload while you editStop npm run dev before npm run build.
Need help:
- Node.js 18 or newer
- npm
- Git
ResumePoint/
├── src/
│ ├── background/ opens pages and runs Resume
│ ├── content/ reads and restores the place on the page
│ ├── popup/ the small window you click
│ ├── storage/ local save and backup
│ └── utils/ URL matching, search, time
├── public/icons/ extension icons
├── dist/ built extension (created after npm run build)
└── README.md
"ResumePoint can't access this page"
You are on a browser settings page or the extension store. Open a normal website that starts with http or https.
Resume opens the page but stays at the top
The site may have changed. Click Update at the new place. Dynamic pages get a few restore tries.
"Unable to open this page"
The link may be gone or the site is down.
Chrome and Brave show different saved pages
Each browser has its own storage. Use Export and Import.
I changed the code and nothing changed
Run npm run build, then click Reload on the extension card.
ResumePoint, madhavanSPR ResumePoint, Chrome extension to save scroll position, Brave extension to restore reading position, continue reading webpage later, remember where I left off online, webpage checkpoint, reading resume manager, save study progress on a website, restore scroll after closing Chrome, Scroll In alternative, Scrollmarks alternative, ResumeScroll alternative, Manifest V3 TypeScript React Vite extension, local unpacked Chromium extension, no cloud bookmark alternative with page position.
Issues and pull requests are welcome. Keep the main job simple: save, update, resume.