NotebookLM Project Categorizer is a userscript that adds smart category filter buttons to the NotebookLM project list. It detects project titles and automatically groups them into categories like "Tutorial", "Finance", "General", and more.
It also handles Single-Page Application (SPA) navigation seamlessly, no need to reload manually when moving around!


- 🗂️ Auto-categorizes your projects based on title keywords
- 🎛️ Adds a filter button UI above your project list
- 🚀 Works with NotebookLM’s dynamic SPA navigation
- 💾 Remembers your last selected filter even after page reloads
- 🌟 Clean, native-looking design
-
Install a userscript manager browser extension (like tampermonkey, Violentmonkey, etc.). I’m using Tampermonkey as the userscript manager. You can install it using the link below:
-
Create a new userscript:
- Click the Tampermonkey icon ➔ Create a new script.
-
Replace the default code with the NotebookLM Project Categorizer script.
-
Save the script.
-
✨ Done! The category filter buttons will appear automatically when the page loads.
- Auto-detection: Based on project titles and keywords
- Real-time updating: Listens for dynamic page changes with arrive.js
- Styling: Lightweight custom CSS for clean, minimal look
- Persistence: Saves active filter across sessions using
GM_setValue
andGM_getValue
Q: I don't see any buttons after installing?
A: Make sure:
- You are on https://notebooklm.google.com/
- Tampermonkey is active
- The script is enabled and saved
- Wait a few seconds if the project list is still loading
Q: Can I change the categories or keywords?
A: Yes!
Inside the script, edit the categories
section like this:
const categories = {
'All': [],
'My Custom Category': ['Keyword1', 'Keyword2'],
...
};
If you have suggestions or improvements, feel free to fork the repo and submit a pull request!
MIT License