save-as-ebook: A Browser Extension That Turns Pages Into EPUB Files
Save a web page/selection as an eBook (.epub format) - a Chrome/Firefox/Opera Web Extension
At a glance
- What is it?
- save-as-ebook is a Chrome, Firefox and Opera extension that saves a web page or a text selection as an .epub file, optionally as a multi-chapter book edited in a built-in chapter editor. It suits readers who want clean, styled EPUB output from the browser without a separate converter.
- Who is it for?
- save-as-ebook fits readers who want an EPUB of a single article, or of a hand-picked sequence of articles, generated inside the browser with a chapter editor to fix the result, and it does not fit anyone who needs batch conversion, DRM-free catalog management or scheduled archiving.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 52 days ago.
- What is it written in?
- Mainly JavaScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 22, 2026, and from our analysis. They are not legal advice.
Editorial analysis
An EPUB Generator That Lives in the Browser Toolbar
save-as-ebook is a web extension for Chrome, Firefox and Opera whose entire job is turning a page you are already reading into an .epub file. There is no separate application, no local server and no account. The extension menu is the interface, and every action in it operates on the current tab.
The problem it addresses is narrow and real. Saving a page as HTML gives you a file full of navigation, cookie banners and related links, and printing it to PDF gives you a page image rather than reflowable text. An EPUB built from the same page can carry the styling of the original while remaining text, and this extension does that work in the browser process where the page and its CSS are already in memory.
The repository is a small JavaScript project: a web-extension/ directory holds the extension itself, build.sh sits at the root for packaging it, and tests/ contains the test suite. The licence is MIT, which means the code can be read, modified and redistributed under that licence, including by anyone who wants to build a variant of the style library.
Save Page and Save Selection Each Start a New Book
Two menu entries produce a finished file in one step. Save Page takes the whole page as a one-chapter eBook, and Save Selection takes only the text you have highlighted on the page. If nothing is selected when you run Save Selection, the save stops and tells you the selection is empty, because the extension will not guess where you meant the content to start and end.
Readability.js is applied differently in each case. It is used for Save Page, where it strips navigation, sidebars and comments down to the article body. On a page that is not an article, the whole page is saved and the extension says that is what happened. It is not applied to Save Selection at all, on the reasoning that a manual selection already states where the content is.
Without Review Before Saving, the .epub is built and downloaded as soon as the page has been read. The file is named after the page title, or eBook.epub when the page has no title. Nothing is kept afterwards, so the next save starts clean.
Add as Chapter Collects Pages Until You Generate the File
The other half of the menu builds a book from several sources. Add Page as Chapter appends the whole page to the book being collected, and Add Selection as Chapter appends just the selection. Neither downloads anything and neither opens a window, so you can walk through a series of articles and add each as you go. Each addition reports that it went in.
The chapters wait inside the extension rather than in a file, and the documentation states that they survive closing the tab and closing the browser. They stay there until you generate the book, remove them, or run Save Page or Save Selection. That last clause is the sharp edge: because those two start a new book, anything gathered with Add Page as Chapter that has not been generated is discarded.
The two Add commands read the page exactly as the immediate saves do. Styles the Style Library has switched on for that address are applied first, the Keep the page's colours and fonts option decides whether the original look comes along, and Readability.js narrows a page to its article while leaving a selection untouched.
The Chapter Editor Holds Metadata, CSS and the Final Generate Step
Edit Chapters opens everything collected so far in a tab of its own, and it is the same editor that Review Before Saving opens for a single chapter. From there you can reorder, rename, edit and style chapters, then generate the .epub.
The eBook Title field is both the book's name and the file name, and left empty the book is called eBook. eBook Details holds authors, language, publisher, date and description. A field left empty shows in grey what would be taken from the chapters instead, which lets you defer to the page metadata without hunting for it. eBook Stylesheet is folded away until opened and holds CSS for the whole book, every chapter of it.
Review Before Saving routes Save Page and Save Selection into this same editor instead of downloading straight away, so you can preview the chapter as the eBook will show it, click anything left over and remove it, and edit the text to fix a typo or reword a caption. The Generate button in the editor is what writes the file. Closing the tab without generating leaves the chapter in place, and Edit Chapters opens it again.
Readability.js and the Style Library Solve Two Different Problems
It is easy to confuse the two cleanup features, because both touch the page before it is saved. They work at different moments and for different reasons.
Apply Readability.js is a content filter applied at capture time to decide what part of the page is the article. It applies to Save Page and Add Page as Chapter only. On a page it recognises as an article, navigation, sidebars and comments are dropped. On a page it does not, the whole page is saved and you are told that.
The Style Library is a different mechanism. It is a library of CSS that is applied to pages while they are captured, so what gets saved is the page without its banners and sidebars. A line beneath the Style Library button lists the styles the current page would take. Capture this page first takes a copy of the current page for the library to preview against, and also allows picking an element by clicking it. That is a capture, so it takes as long as saving does, and you can clear it to open the library directly on the last page captured.
The Keep the page's colours and fonts option is what carries colours, fonts, borders, lists and alignment into the book so code, tables and pull quotes keep their original appearance. Switched off, the book is plain text laid out by the reading system.
Installing From the Stores or Loading the Extension Unpacked
The extension is published on the Chrome Web Store and on Firefox Add-ons, and the README also names Opera in the project description. Installing from a store is the ordinary route, with a manual path available if you prefer to run the code in the tree yourself.
In Chrome, the manual route starts at the extensions page and loads the extension directory as an unpacked extension:
1. Navigate to chrome://extensions/
2. Load unpacked extension ...
3. Select the extension's directoryIn Firefox the equivalent uses the debugging page and loads a temporary add-on:
1. Navigate to about:debugging
2. Load temporary add-on ...
3. Select the extension's directoryThe Firefox route is temporary by design, so it does not survive a restart of the browser, which is one reason the store listing matters for daily use. On macOS, the keyboard shortcuts for saving a page and a selection follow the same Review Before Saving setting as the menu commands, so a shortcut will open the editor when the menu item would.
Frequent Releases, No Versioned Package Beyond the Stores
The release history is dense for a small extension. v2.3.0 was published on 2026-09-01, 2.2.0 on 2026-08-17 and 2.1.0 on 2026-08-07. The repository is not archived and the last push was on 2026-09-01.
That cadence has a practical consequence. Because the store build is what most users run, the version installed in the browser is whatever the store last published, and a manual install from the tree can be ahead of or behind it. There is no package manager entry in the repository, no lockfile and no upgrade path described beyond reinstalling the extension directory.
The repository root also holds build.sh, which is the packaging step for producing the distributable extension, and a tests/ directory. The README does not document a test command or a release checklist, so if you want to modify the style library or the capture logic you are working from the extension source without a documented harness for reproducing a release.
Editorial conclusion
save-as-ebook fits readers who want an EPUB of a single article, or of a hand-picked sequence of articles, generated inside the browser with a chapter editor to fix the result, and it does not fit anyone who needs batch conversion, DRM-free catalog management or scheduled archiving. Before relying on it, verify that Readability.js actually isolates the article body on the sites you read, since the extension falls back to saving the whole page when it does not, and note that Save Page and Save Selection each start a new book and discard chapters collected but not yet generated. The project is MIT licensed, the newest release is v2.3.0 from 2026-09-01, and the last push was on 2026-09-01.
Frequently asked questions
How do I install the save-as-ebook extension?
The project is listed on the Chrome Web Store and on Firefox Add-ons. Manually, Chrome users navigate to chrome://extensions/ and load the extension directory as unpacked, while Firefox users use about:debugging and load a temporary add-on.
What happens to chapters I collected but have not turned into a book yet?
They wait inside the extension and survive closing the tab and the browser. They are discarded only if you run Save Page or Save Selection, since each of those starts a new book.
Can I save just the part of a page I have highlighted?
Yes. Save Selection saves only the selected text as a one-chapter eBook, and the save stops with a message if nothing is selected. Readability.js is not applied to a selection, because the selection already defines the content.
How do I control the look of the saved eBook?
Keep the page's colours and fonts carries the original colours, fonts, borders, lists and alignment into the book. The eBook Stylesheet field in the chapter editor holds CSS for the whole book, while the Style Library applies CSS to pages as they are captured.
What file name does the extension give the eBook?
The file is named after the page title, or eBook.epub if the page has no title. In the chapter editor the eBook Title field sets both the book name and the file name, and left empty the book is called eBook.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/alexadam-save-as-ebook)Was this useful?