The Marvellous Suspender for Chrome tab memory management
A free, open-source Chrome extension - no ads, no tracking. Based on The Great Suspender, cleaned up and actively maintained.
At a glance
- What is it?
- The Marvellous Suspender is an open-source Chrome extension that automatically suspends inactive tabs to release the resources they consume. It targets Chrome 110 and later, supports a configurable timeout, and is based on The Great Suspender.
- Who is it for?
- The Marvellous Suspender fits Chrome users who routinely keep many inactive tabs open and want an automatic memory-saving policy. It is a poor fit for people who need every tab active or who cannot accept suspended tabs disappearing when another extension is removed.
- Can I use it commercially?
- Yes, with conditions. GPL-2.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
- Is it still maintained?
- Yes. The repository last received commits 3 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 20, 2026, and from our analysis. They are not legal advice.
Editorial analysis
Why The Marvellous Suspender targets inactive Chrome tabs
The Marvellous Suspender solves a specific browser resource problem: tabs that remain open even after the user has stopped interacting with them can continue consuming memory and CPU. The README says that, once installed and enabled, the extension automatically suspends tabs after a default or user-configurable interval. The goal is not to close tabs or organize them manually. It is to keep their presence in the browser while removing the active work associated with pages the user no longer needs.
This makes the extension relevant to people who work with large tab collections across long sessions. The repository describes it as a free and open-source Chrome extension with no ads and no tracking. Those claims concern the project's stated product positioning and should not be interpreted as a guarantee about every future build or third-party distribution channel. The official Chrome Web Store listing and the project homepage are the relevant places to verify the current distribution.
The extension is also a continuation of The Great Suspender. The README explicitly says that this project is based on it and has been cleaned up. It does not document the original project's internal architecture, so the comparison here is limited to the stated lineage rather than assumptions about inherited code or behavior.
What happens when MarvellousSuspender applies its inactivity policy
The documented behavior is a timer-based tab suspension flow. A tab remains open until it has not been used for the configured interval. Once that condition is met, the extension suspends it. The README states that suspended tabs free resources such as memory and CPU that the tab was consuming. That distinction matters because suspension preserves the tab for later recovery rather than deleting its browsing entry.
The extension can use a default interval or a value selected by the user. The documentation does not specify the exact timer implementation, browser event used to determine inactivity, or the internal representation of a suspended tab. Those details are therefore not treated here as established facts. The visible contract is simpler: inactivity triggers suspension, and the suspended tab can later be unsuspended.
The project also warns that suspended tabs should be unsuspended before removing another version of the extension. If suspended tabs are removed with the extension, the README says they will disappear forever. This is a real operational boundary. Users who depend on a particular tab should restore it before changing extension versions or removing the extension.
Chrome installation paths for the first use
The normal installation path is the official Chrome Web Store. The README provides that listing and a separate permissions reference at `kb.marvellouscode.works/docs/TMS/permissions`. Users who need a first use should review the permissions before enabling the extension, then configure the suspension interval in the extension's settings. The README does not include screenshots or a documented settings sequence, so it does not support inventing exact menu labels.
For source installation, the project requires Google Chrome 110 or later and uses Manifest V3. Download the latest available release, unarchive it, open `chrome://extensions/`, enable Developer mode, choose `Load unpacked extension...`, and select the extracted `src` directory. The welcome page is expected to open after confirmation. A user should see the welcome page if the unpacked extension loads correctly.
For a release archive, the README also documents a local installation route through `build/crx/` or, if Chrome rejects the `.crx`, extracting `build/zip/` and loading the unpacked folder. These routes are different from the Web Store installation. The source-build instructions should be used only when the reader intends to work with the repository rather than install the published extension.
Building The Marvellous Suspender with Node and OpenSSL
The source build requires `openssl` and `npm`. The documented sequence installs locked dependencies, generates a key, and runs the build. According to the README, the output should end with `Done, without errors.`, and the extension package should be placed inside `build/crx/`.
npm ci
npm run generate-key
npm run buildThe repository's `package.json` maps `npm run build` to `grunt`, `npm run generate-key` to `openssl genrsa -out key.pem`, and `npm test` to `vitest run`. This makes the build pipeline more concrete than a generic JavaScript extension workflow. It is a source build rather than a release distribution, so the generated key and extension artifacts should be handled as part of the project's local setup.
For tests, the documented command is:
npm ci
npm testThe README says unit tests live in `tests/` and run with Vitest under Node. It also lists separate setup, lint, locale checks, and a keyless build in `CONTRIBUTING.md`, but it does not reproduce those instructions in the README. The repository includes `CONTRIBUTING.md`, `AGENTS.md`, `vitest.config.mjs`, and `vitest.e2e.config.mjs`, which are the appropriate files for contributors who need the full workflow.
Manifest V3 compatibility and extension constraints
The project declares Chrome 110 or later as its browser requirement and identifies itself as a Manifest V3 extension. That is a concrete compatibility boundary, not a claim that every older Chrome installation will work. The current repository structure includes JavaScript source, TypeScript and ESLint configuration, Grunt build files, locale tooling, and test configuration. The package metadata lists `idb` as a runtime dependency and several Grunt, ESLint, TypeScript, and Vitest packages as development dependencies.
The source build has a notable packaging step: `npm run generate-key` creates `key.pem` through OpenSSL. The README does not explain how that key is used in every part of the package, so the safe conclusion is limited to the documented command and output locations. It also does not document a rollback procedure, a release migration guide for suspended tabs, or a compatibility matrix beyond the stated Chrome version.
These constraints matter for evaluation. A team that requires reproducible builds should inspect the lockfile and build scripts. A user who relies on suspended tabs as a recovery mechanism should test the extension's behavior before removing or replacing another copy.
Licensing, localization, and maintenance boundaries
The repository is licensed under the GNU General Public License v2, and the README links that license as `LICENSE`. This identifies the declared licensing model for the project. It is not legal advice, and users who intend to redistribute modified builds should review the actual license and notices themselves.
The localization story is explicit. English and Italian are maintained directly and are the only languages described as reliable for accuracy. Other languages were updated with AI assistance and may be functional, but the README says they have not received native-speaker review. Crowdin is the documented translation platform, and corrections can be submitted there. This limitation is useful for teams that need verified language coverage rather than merely translated interface text.
The repository is not archived, and its last push was on 2026-10-14. The release list includes `v9.1.0-test.523` on 2026-10-01, `v9.0.3` on 2026-09-17, and `v9.0.2` on 2026-08-10. These dates indicate recent project activity in the stated record. The README does not define a support policy for older Chrome releases or promise long-term compatibility with future Manifest V3 changes.
The practical alternative to automatic tab suspension
The clearest alternative is to leave tabs open without an automatic suspension policy and close unused tabs manually. This approach avoids installing an extension, but it transfers the resource decision to the user. It also changes the failure mode: without the extension's suspension policy, a tab that is not closed may remain active, while a suspended tab depends on the extension's recovery and removal behavior.
Another possible choice is to use fewer tabs at once, keeping only the work currently needed. That avoids suspension state entirely, but it changes the user's workflow and requires deliberate tab cleanup. The Marvellous Suspender instead targets users who want old tabs retained for later access while reducing their active resource usage. The documentation does not compare Chrome's built-in tab management features, so this article does not claim how its policy differs from browser-native controls.
Editorial conclusion
The Marvellous Suspender fits Chrome users who routinely keep many inactive tabs open and want an automatic memory-saving policy. It is a poor fit for people who need every tab active or who cannot accept suspended tabs disappearing when another extension is removed. Check the Chrome 110 requirement, the configured timeout, permissions, and the behavior of tabs that must remain live before adoption.
Frequently asked questions
Does The Marvellous Suspender close inactive Chrome tabs?
No. The README says the extension suspends inactive tabs and that suspended tabs can be unsuspended. It warns that removing suspended tabs with another version of the extension can make those tabs disappear forever.
What are the Chrome requirements for The Marvellous Suspender?
The project requires Google Chrome 110 or later and identifies the extension as a Manifest V3 extension. Chrome's Developer mode is needed only for the documented load-unpacked installation path.
How do I build The Marvellous Suspender from source?
The README lists `openssl` and `npm` as dependencies, then documents `npm ci`, `npm run generate-key`, and `npm run build`. The expected build result is `Done, without errors.`, with the `.crx` package inside `build/crx/`.
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/gioxx-marvelloussuspender)