Capture a whole web page as one image. Annotate it, save it as PNG, JPEG, WebP or PDF. No accounts, no network, no tracking.
Users
41
+41 in 30 days
Rating
5.0 / 5
+5.00 in 30 days
Ratings
1
+1 in 30 days
Store rank
#118K
#98K among extensions
Version
1.10.3
updated 16 Oct 2026
Users
monthly, 1 months
Latest, 18 Oct 2026:41 usersMove the mouse over the chart for any month
Ratings count
monthly, 1 months
Latest, 18 Oct 2026:1 ratingsMove the mouse over the chart for any month
The Chrome Web Store rounds user counts down to the leading digit, so the user line moves in steps. The ratings count is exact and is the better signal of real adoption.
About OpenFullPage - Capture Screen, Annotate, Save
Open Source alternative to GoFullPage Chrome Extension. Capture a whole scrolling page, annotate, redact, save as PNG, JPEG, WebP or PDF. No network.
Take a full page screenshot of any web page, however long it is, annotate it, and save it. One click captures the whole scrolling page as a single image, not just the part on screen.
Then mark it up without leaving the browser: arrows, lines, boxes, ellipses, a highlighter, freehand pen, text captions, numbered steps, and redaction that destroys the pixels underneath rather than covering them. Crop it, resize it, and save as PNG, JPEG, WebP or PDF, or copy it straight to the clipboard.
It is free and open source, with no account, no sign-in and no paid tier.
And it has no network access at all. Not "we promise not to look", but no way to send anything anywhere, enforced by Chrome rather than by our good intentions. You can verify that yourself in about five minutes, and the instructions are below.
WHAT IT DOES
- Captures a whole scrolling page of any length as a single image
- Or just the visible area, or one element you point at
- Takes cookie banners, chat bubbles and newsletter pop-ups out of the shot before
it takes it: point at them, and they are hidden for the capture and put back after
- Lets you stop a capture early and keep the part it reached, for pages that never
finish loading
- Optionally saves straight to your downloads folder, with no editor at all
- Holds sticky headers and floating bars still, so they do not repeat down the image
- Waits for lazy-loaded images before capturing each screenful
- Annotates with arrows, lines, boxes, ellipses, a highlighter, a freehand pen, text
captions and numbered steps, fifteen shapes in all
- Erases any annotation by pointing at it, and undoes every edit exactly
- Fills shapes with a colour and an opacity you choose, from any colour, not a fixed palette
- Redacts by destroying the pixels underneath, not by covering them
- Crops with a region you can adjust and confirm, rather than cutting on release
- Chooses the size the file is saved at, and says what each format would weigh
before you pick one
- Opens an image you already have, by paste, drag and drop, or a file picker, and
annotates that too
- Light, dark, or whatever your system is set to
- Saves as PNG, JPEG, WebP or PDF with a filename you can edit, or copies to the clipboard
- Hands the image to an image host of your choice through your clipboard, if you want a link
WHY YOU CAN BELIEVE THE PRIVACY CLAIM
Privacy claims are easy to make and hard to check. This one is built so that you
do not have to take anyone's word for it, including ours.
1. NO NETWORK ACCESS
The extension manifest sets connect-src 'none'. That is not a promise about
how the code behaves. It is an instruction to Chrome to refuse every outbound
request the extension could make: fetch, XMLHttpRequest, WebSocket, beacons.
Open DevTools, capture a long page, and watch the Network tab stay empty.
2. NO REMOTE CODE
No eval, no new Function, no update server of our own, no remotely fetched
configuration or blocklists. Nothing arrives after you install.
3. NO DEPENDENCIES AND NO BUILD STEP
The package you install is byte for byte the files in the public repository.
There is no bundler in between that could add something you did not read. The
build proves it by rebuilding the package and diffing it against the source.
4. NO BROAD PERMISSIONS AT INSTALL
Only activeTab, scripting and storage. It cannot read a page until you click
the button on that page. Everything wider is optional, off by default, and
revocable.
5. NO SYNCED STORAGE
chrome.storage.sync would send your settings to Google's servers. Settings
stay on the machine that made them. You can export them to a file yourself if
you want to move them.
All five are checked on every commit and the build fails if any is broken.
NO ACCOUNT, NO ANALYTICS, NO PAID TIER
There is nothing to sign in to and nothing to upgrade. There is also no reason
for us to collect anything about you, because there is no product to sell you
later.
OPEN SOURCE
GPL-3.0. Read the code, run the tests, rebuild the package and compare it with
what you installed. It takes about five minutes and the instructions are on the
site.
WHAT IT CANNOT DO
Honesty runs both ways, so: it cannot capture the Chrome Web Store, chrome://
pages, or other extensions' pages, because Chrome forbids extensions from
touching those. Pages taller than 16,384 pixels are scaled down to fit rather
than cut off, because that is Chrome's canvas limit, and the editor tells you
when that has happened. There is no cloud history and no share link, because
both would need the network access this deliberately does not have.