Reference links
Citations in the PDF are clickable: jump to the reference, unwind jumps across documents with a global Back, and fetch a cited arXiv or DOI paper into your library in one click.
Open source · self-hosted · for people who read papers
Gamma is a PDF annotator with outliner notes. Highlight and draw on papers, keep what you learn as nested blocks with live math, ask an AI about them, and search your whole library — on your own machine or a server you host.
Everything is SQLite and files in one folder — on your disk with the desktop app, or on a server you run. No account with us, no telemetry, no one else reads your papers.
A highlight is a block. Nest it, link it, embed it in another page, search it, share it. Click it and the PDF jumps to the passage. The notes and the paper never drift apart.
Export a page or a folder as Markdown, an Obsidian vault, a Logseq graph, a Zotero library or an annotated PDF whenever you like. The code is on GitHub.
Highlight, annotate & draw
Open a paper by pasting any link — arXiv, DOI or a publisher page; Gamma finds the PDF and falls back to a legal open-access copy when the DOI is paywalled — or drag the file in. Then:
Take notes
Highlights and free notes are the same kind of block, so a paper's notes and a plain page are edited the same way.
$…$ / $$…$$ math, code fences, callouts and tables render in place while the block you're on stays raw. Math gets bracket-pair coloring, \command autocomplete and Tab hops between {} arguments.[[page]] mentions, ![[block]] embeds that edit the source in place, and a "/" menu for everything else.
Native agentic
Chat with the open PDF, or several at once. Answers cite the page, and clicking a citation jumps to the passage it came from.
@ to attach a library page; its details and text stay in context.
Link and organize
Metadata fills itself in when a paper arrives. Labels and folders keep the library in shape. Citations lead to the next paper, and Back returns you to where you were reading.
Citations in the PDF are clickable: jump to the reference, unwind jumps across documents with a global Back, and fetch a cited arXiv or DOI paper into your library in one click.
Ctrl+F searches notes, highlights and the full text of every PDF at once, with match-case, whole-word and regex toggles. Narrow by label (an author) or by folder (qc pulls in everything beneath it). "3000" still finds "3,000-qubit" across a line break.
On open, each paper is resolved (arXiv → DOI → AI) so title, authors and venue auto-fill; any field can be hand-edited. One click copies BibTeX or a slide-ready citation that pastes into PowerPoint with real italics.
Folders are paths: drop a paper into qc/neutral-atom and the hierarchy builds itself, and one paper can live in several folders. Labels are flat tags for cross-cutting facets like an author or a keyword.
Connect your research
Share, sync and move your data
Get Gamma
The desktop app is a self-contained Gamma with local libraries on your disk — no Docker, Python or Node. It also opens any Gamma server you host as another workspace. Latest release .
Or the standalone installer. SmartScreen: More info → Run anyway. Updates itself.
Not notarized: on first launch, System Settings → Privacy & Security → Open Anyway, once.
Debian / Ubuntu, x64. Install with sudo apt install ./Gamma-*.deb. Updates itself.
docker run -d --name gamma -p 9001:9001 -v gamma-data:/data ghcr.io/tim4431/gamma:latestMulti-user, with shared workspaces. Open localhost:9001 and sign in as admin; the password is printed once to docker logs gamma. More on self-hosting ↓
Unzip, then chrome://extensions → Developer mode → Load unpacked. Chrome, Edge and other Chromium browsers.
In Gamma, Settings → AI → External assistants gives a one-line setup command for the Codex plugin, and the server URL for any other MCP client.
Self-host
The server is one Docker image (linux/amd64 and arm64) with everything inside: the API, the app, SQLite and your uploads under a single /data volume that survives upgrades. No environment variables are needed.
# Quickstart
docker run -d --name gamma -p 9001:9001 \
-v gamma-data:/data ghcr.io/tim4431/gamma:latest
docker logs gamma # the seeded admin password, printed once# Docker Compose (recommended)
services:
gamma:
image: ghcr.io/tim4431/gamma:latest
container_name: gamma
restart: unless-stopped
ports:
- "9001:9001"
volumes:
- gamma-data:/data
volumes:
gamma-data:Your data stays yours
No telemetry, analytics, crash reporting or accounts hosted by us. The desktop app's only outbound call of its own is the update check against GitHub Releases.
A data directory of SQLite databases and your files. Copy it, back it up, move it to another computer or server.
Metadata lookups go to arXiv, Crossref and Unpaywall; AI requests go to the provider you configured with your own key. Nothing else.
Export everything as Markdown, an Obsidian vault, Logseq, Zotero, annotated PDFs, or one zip that any Gamma can restore.
Questions
Yes. Gamma is open source. Download the desktop app or run the Docker image; there are no plans, no seats and no account with us.
In a data directory: SQLite databases plus your PDFs and images. With the desktop app it is a folder on your disk; on a server it is the /data volume. You can export a workspace, or all of them, as a zip at any time and restore it elsewhere.
Only if you want them. Add an Anthropic or OpenAI key in Settings, or sign in with a ChatGPT Plus/Pro subscription with no key at all. Until you do, Gamma contacts no AI service. Keys are stored on your own Gamma, per user.
Yes. Zotero libraries and Logseq PDF exports import with their annotations; Obsidian vaults, Markdown folders and Notion exports import as notes. Export goes the other way too: Markdown, an Obsidian vault, a Logseq graph, a Zotero library, or annotated PDFs.
A server administrator creates shared workspaces with owners, editors and viewers. Any page can also be shared by link with view or edit rights. Edits and cursors show up live for everyone on the page.
Ink works with a stylus or a mouse in the browser and the desktop app: draw, lasso, move, resize, erase part of a stroke, undo. There is no native tablet app yet.
Desktop: Windows (Microsoft Store or installer), macOS (dmg), Debian/Ubuntu (deb). Server: Docker on linux/amd64 and arm64, or from source with Python 3.11+ and Node 18+. The desktop app can open a hosted server as another workspace.