Clean Tab is a local-first new tab extension for Chrome and Chromium-based browsers. It turns the new tab page into a quiet personal command center for search, favorite sites, folders, lightweight widgets, and local backup.
Status: this project is not finished yet. It is a working local prototype, but it still needs release hardening, browser-store packaging, permission review, responsive QA, and more real-world testing before it should be treated as a finished product.
Clean Tab replaces the browser's default new tab page with a fast, minimal workspace. The current build focuses on personal daily use rather than team sync or cloud accounts.
- Search from the new tab page with built-in engines such as Google, Bing, Baidu, and GitHub.
- Open URLs directly from the search box.
- Keep local search history for faster repeated queries.
- Organize websites into groups and folders.
- Add, edit, delete, and reorder site tiles.
- Use curated local brand icons, custom colors, and folder icons.
- Toggle a compact, quiet interface with light/dark mode, density, and accent color settings.
- Enable widgets for weather, calendar, todos, notes, countdowns, habits, quotes, and AI shortcuts.
- Import browser bookmarks when the extension has bookmark access.
- Export and restore JSON backups.
- Store user data locally in the current browser profile through
localStorage.
The settings panel controls the visual style, icon shape, folders, sidebar, widget visibility, search engines, imports, and backup/restore.
Widgets can be enabled as a focused dashboard layer without turning the new tab page into a heavy productivity app.
The local finder searches saved sites, groups, and folders from the current browser profile.
The project is intentionally simple right now:
clean-tab-extension/manifest.jsondefines the Manifest V3 extension and new tab override.clean-tab-extension/newtab.htmlprovides the static extension entrypoint.clean-tab-extension/newtab.jscontains the local state model, rendering, interactions, imports, widgets, and backup/restore logic.clean-tab-extension/styles.csscontains the full visual system and responsive layout.clean-tab-extension/brand-icons.jsprovides local icon metadata.clean-tab-extension/THIRD_PARTY_NOTICES.mdrecords third-party icon attribution.docs/assets/contains README screenshots captured from the current local UI.
There is no backend service, no account system, and no cloud database in the current version.
- Open Chrome or Edge.
- Go to the extensions page.
- Enable Developer mode.
- Choose "Load unpacked".
- Select
clean-tab-extension/. - Open a new tab to use Clean Tab.
Clean Tab is local-first in its current form. Saved sites, preferences, widgets, todos, notes, and backup state are kept in the current browser profile through localStorage.
Important limitations:
- Data does not sync across devices automatically.
- Clearing browser site data can remove Clean Tab data.
- JSON backup/restore is the current migration path.
- This is not designed for storing secrets.
The current manifest includes:
chrome_url_overrides.newtab: used to replace the browser new tab page.bookmarks: used for browser bookmark import.- Broad host permissions: currently present for metadata-related extension behavior and should be reviewed and narrowed before any public release.
Because the project is still unfinished, permissions should be audited again before publishing to the Chrome Web Store or making a public release.
- Narrow extension permissions to the minimum required surface.
- Add structured tests for state migration, backup/restore, search behavior, and bookmark import.
- Improve mobile/narrow-window behavior for smaller Chromium windows.
- Add import conflict handling and better duplicate detection.
- Add a clearer onboarding path for first-time users.
- Package a store-ready release build with icons, screenshots, and privacy notes.
- Decide whether future sync should remain manual JSON only or use an optional user-controlled sync layer.
This repository is being shared as a current development snapshot. The UI is usable locally, but the project is not complete and should not be presented as a finished extension yet.



