# OpenHighlights – open-source web and PDF highlighter for Chrome

> Source: <https://github.com/dev-kleo/OpenHighlights>
> Published: 2026-11-11 09:11:25+00:00

Privacy-first Chrome extension for highlighting text on webpages and PDFs, attaching notes, organizing knowledge with tags and collections, and exporting everything offline.

**Phase 1 (MVP)** — fully local, no accounts, no cloud, no AI.

- Highlight webpage text with a floating toolbar or right-click menu
- Five highlight colors with persistence across reloads
- Markdown notes per highlight (editable, with character counter)
- Collapsible Chrome side panel with search, filters, tags, collections, and export
- PDF viewing and highlighting via PDF.js
- Instant search across highlight text, notes, and page titles
- Custom tags and collections
- Export to Markdown, JSON, or plain text
- Popup with today’s highlights, recent items, and quick actions
- Options page for theme, default color, font size, backup, and shortcuts
- Keyboard shortcuts: `Ctrl+Shift+H` ,`Ctrl+Shift+N` ,`Ctrl+Shift+S`

React · TypeScript · Vite · Tailwind CSS · Zustand · Dexie (IndexedDB) · PDF.js · Vitest · Lucide

```
npm install
npm run dev
```

Load the unpacked extension from `dist/` in Chrome (`chrome://extensions` → Developer mode → Load unpacked).

See [docs/INSTALLATION.md](https://github.com/dev-kleo/OpenHighlights/blob/main/docs/INSTALLATION.md) for a full install guide.

| Command | Description | 
|---|---|
| `npm run dev` | Vite + CRXJS development build with HMR | 
| `npm run build` | Typecheck and production build to `dist/` | 
| `npm run test` | Run Vitest unit tests | 
| `npm run lint` | ESLint | 
| `npm run format` | Prettier | 
| `npm run typecheck` | TypeScript only | 

Feature-based layout under `src/` — see [docs/ARCHITECTURE.md](https://github.com/dev-kleo/OpenHighlights/blob/main/docs/ARCHITECTURE.md).

All data stays in IndexedDB on your device. There is no analytics, sync, or remote API in Phase 1.

See [CONTRIBUTING.md](https://github.com/dev-kleo/OpenHighlights/blob/main/CONTRIBUTING.md).

See [ROADMAP.md](https://github.com/dev-kleo/OpenHighlights/blob/main/ROADMAP.md) for Phase 2+ ideas (AI, sync, etc.). Extension points already exist in `src/types` (`FutureSyncAdapter`, `FutureAiAdapter`).
