https://github.com/imsovikde/notebooklm-notes-saver
Supercharge Google NotebookLM! π Instantly copy notes with formatting using a smart button. Automatically saves clips to a private, searchable history vault so you never lose research. π Export to PDF or Word for easy sharing. Runs 100% offlineβyour data stays secure on your device. The essential tool for students, writers, and researchers. π
https://github.com/imsovikde/notebooklm-notes-saver
Last synced: 5 days ago
JSON representation
Supercharge Google NotebookLM! π Instantly copy notes with formatting using a smart button. Automatically saves clips to a private, searchable history vault so you never lose research. π Export to PDF or Word for easy sharing. Runs 100% offlineβyour data stays secure on your device. The essential tool for students, writers, and researchers. π
- Host: GitHub
- URL: https://github.com/imsovikde/notebooklm-notes-saver
- Owner: imsovikde
- License: mit
- Created: 2025-12-14T10:45:40.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2025-12-14T10:50:43.000Z (7 months ago)
- Last Synced: 2025-12-16T15:14:02.405Z (7 months ago)
- Language: JavaScript
- Size: 17.6 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# π NotebookLM Saver
> **Supercharge your research.** Instantly copy, save, and export notes from Google NotebookLM with formatting preserved. 100% Offline & Private.
  
**NotebookLM Saver** is a Chrome Extension designed to bridge the gap between Google's AI notebook and your local workflow. It injects a smart "Copy Note" button directly into the NotebookLM interface, allowing you to save insights to a local history vault, export them to PDF/Word, and paste them into other apps without losing bolding, headers, or lists.
---
## β¨ Key Features
* **Smart Injection**: Automatically detects the NotebookLM footer and injects a seamless "Copy Note" button that fits the native UI design.
* **Rich Text Copying**: Copies notes to your clipboard in both **HTML** (for Word/Docs) and **Plain Text** (for Notepad/Markdown) simultaneously.
* **Local History Vault**: Every copied note is saved to `chrome.storage.local`. It stores up to **500 items** with deduplication logic to prevent clutter.
* **Robust Selectors**: Uses a "waterfall" of CSS selectors to find note titles and content, ensuring the extension keeps working even if Google changes the website's code.
* **Export Options**:
* π **PDF**: Generates a clean, printable view for saving as PDF.
* π **DOC**: Exports the note as a `.doc` file compatible with Microsoft Word.
* **Search & Organize**: A popup dashboard lets you search through your saved history by title or content.
---
## π Installation (Developer Mode)
Since this project is open-source, you can install it manually in your browser:
1. **Download the Code**: Clone this repository or download the ZIP.
```bash
git clone [https://github.com/your-username/notebooklm-saver.git](https://github.com/your-username/notebooklm-saver.git)
```
2. **Open Extensions**: In Chrome, go to `chrome://extensions/`.
3. **Enable Developer Mode**: Toggle the switch in the top-right corner.
4. **Load Unpacked**: Click the button and select the folder containing `manifest.json`.
5. **Pin It**: Pin the extension icon to your toolbar for easy access.
---
## π Usage Guide
1. **Open NotebookLM**: Navigate to [notebooklm.google.com](https://notebooklm.google.com) and open any notebook.
2. **Copy a Note**: You will see a new **"Copy Note"** button near the bottom of the note editor. Click it!
* *Feedback*: The button will change to "Copied" and a toast notification will appear.
3. **View History**: Click the extension icon in your browser toolbar to see the **Popup Dashboard**.
* Here you can see your recent notes, search them, or copy them again.
4. **Full View & Export**: Click the "Open" icon next to any note in the popup to enter **Reader Mode**.
* Use the toolbar to **Download PDF** or **Download .doc**.
---
## π Project Structure
* **`manifest.json`**: The configuration file. Defines permissions (`storage`, `clipboardWrite`) and scripts.
* **`content_script.js`**: The logic that runs on `notebooklm.google.com`.
* *Key Function*: `injectButton()` adds the UI element.
* *Key Function*: `findContent()` scrapes the text using multiple fallback selectors.
* **`background.js`**: A service worker that handles opening the full-page "View" tab.
* **`popup.js` / `.html`**: The small window that appears when clicking the extension icon. Handles the search and list rendering.
* **`view.js` / `.html`**: The full-page read mode. Contains the logic for generating blobs for file downloads.
---
## π Privacy & Permissions
This extension is built with a **Local-First** philosophy.
* **`storage`**: Used solely to save your note history on your own device (`chrome.storage.local`). No data is sent to the cloud.
* **`clipboardWrite`**: Required to place the rich text content into your system clipboard.
* **`scripting`**: Used to inject the button and scrape the specific note text when you ask for it.
* **Host Permissions**: The extension is strictly scoped to run only on `notebooklm.google.com` (Note: Ensure your `manifest.json` reflects this for security).
---
## π€ Contributing
Contributions are welcome! If you find a bug or want to add a feature (like Markdown export):
1. Fork the Project.
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`).
3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`).
4. Push to the Branch (`git push origin feature/AmazingFeature`).
5. Open a Pull Request.
---
## π License
Distributed under the MIT License. See `LICENSE` for more information.
---
*Disclaimer: This project is an independent open-source extension and is not affiliated with, endorsed by, or connected to Google or NotebookLM.*