Read code. Annotate it. That's it.
AnnotateCode is an open-source, web-based code reader that lets you read, write on, and keep notes on source code — like annotating a PDF.
No IDE. No terminal. No compiler. No AI. No bullshit.
Sometimes you don't need to run code.
You just need to understand it.
Maybe you're reading a large codebase someone else wrote. Maybe AI generated half of it and now you need to figure out what the hell it's doing. Maybe you're preparing for an exam. Maybe you're reviewing a project on your iPad.
AnnotateCode is built for that.
- Read code with syntax highlighting and line numbers
- Draw directly on code with a pen
- Highlight important sections
- Erase and undo annotations
- Organize annotations into layers
- Bookmark important parts of a codebase
- Add typed notes
- Search your annotations
- Browse an entire codebase
- Open public GitHub repositories
- Save your reading position and annotations
- Edit and create source files
- Designed to work across desktop, tablet, and mobile
AnnotateCode deliberately does not try to be an IDE.
There is no:
- Terminal
- Compiler
- Debugger
- Package manager
- Git client
- AI coding assistant
- Project management system
- Knowledge graph
The point is to keep the experience focused.
Open code → read → annotate → save → come back later.
AnnotateCode is free and open source.
You can use it, modify it, fork it, self-host it, or contribute to it.
The goal isn't to build another giant developer platform.
The goal is to build one small tool that does one thing really well.
npm ci
npm run dev # http://localhost:5173npm run typecheck # tsc --noEmit
npm test # vitest
npm run build # typecheck + production buildFound a bug? Have an idea? Want to improve the annotation experience?
Issues and pull requests are welcome. Start with CONTRIBUTING.md — it covers the setup, what the tests expect, and which ideas get declined and why.
If you're contributing, keep the core idea in mind:
AnnotateCode should stay simple.
If a feature makes it feel more like an IDE and less like a document you can write on, it's probably worth questioning.
Found a security problem? Please don't open a public issue — see SECURITY.md.
Code is usually treated as something you execute.
AnnotateCode treats code as something you can read.
That's it.
Read code. Annotate it. That's it.