A clean, fast, single-file document reader & editor.
No install. No account. No cloud. Just open and read.
oDoc is a single HTML file that lets you open, read, and edit documents — right in your browser. No server required, no sign-up, no data ever leaves your device. Download the file once and use it forever, even offline.
- Multi-format support — Open
.md,.txt,.html,.pdf, and.epubfiles - Live Markdown preview — Renders headings, code blocks, tables, blockquotes, and more
- Edit mode — Switch to a raw text editor at any time; edits update the preview in real time
- Drag & drop — Drop files anywhere on the window to open them instantly
- Download — Save edited files back to your device
- Dark theme — Easy on the eyes, always
- Zero dependencies at runtime — Ships with PDF.js and JSZip via CDN; works offline with a local copy
- Single file — The entire app is one
.htmlfile you can bookmark, share, or self-host
Download oDoc.html and open it in any modern browser. That's it.
# Clone the repo
git clone https://github.com/oDoc/oDoc.git
# Open in your browser
open oDoc/oDoc.htmlDrop oDoc.html on any static host (GitHub Pages, Netlify, Vercel, your own server):
# GitHub Pages example
git clone https://github.com/oDoc/oDoc.git
cd oDoc
# Push to a gh-pages branch or configure Pages to serve from mainVisit ODoc — no download needed.
| Format | Extension | Notes |
|---|---|---|
| Markdown | .md, .markdown |
Full preview with GFM-style rendering |
| Plain text | .txt |
Displayed in a monospace editor |
| HTML | .html, .htm |
Sanitized preview (scripts stripped) |
.pdf |
Text extraction via PDF.js | |
| EPUB | .epub |
Text extraction via JSZip |
Unsupported formats (
.docx,.csv,.psd,.zip, etc.) are intentionally excluded to keep the app focused and secure.
┌─────────────────┬──────────────────────────────────────┐
│ Sidebar │ Header (filename · type · size) │
│ ───────────── │ ─────────────────────────────────── │
│ + Add Files │ [ Preview ] [ Edit ] │
│ │ │
│ 📝 readme.md │ Rendered document content │
│ 📕 report.pdf │ or raw text editor │
│ 📖 book.epub │ │
│ │ │
└─────────────────┴──────────────────────────────────────┘
- Sidebar — file list with icons, sizes, and one-click remove
- Preview tab — rendered output (Markdown, HTML) or plain text
- Edit tab — raw text editor; changes sync to preview instantly
- Download button — saves the current (possibly edited) file
- Drag & drop — drop files anywhere to add them
oDoc processes everything locally in your browser.
- No files are uploaded to any server
- No analytics or tracking
- No cookies or local storage used
- Works fully offline once the page is loaded
The entire app lives in a single file — oDoc.html. There is no build step.
git clone https://github.com/oDoc/oDoc.git
cd oDoc
# Edit the file
code oDoc.html
# Test in browser
open oDoc.htmlExternal libraries loaded via CDN (swap for local copies if you need offline-first):
| Library | Version | Purpose |
|---|---|---|
| PDF.js | 3.11.174 | PDF text extraction |
| JSZip | 3.10.1 | EPUB parsing |
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/my-feature) - Commit your changes (
git commit -m 'Add my feature') - Push to the branch (
git push origin feature/my-feature) - Open a Pull Request
For bugs or ideas, open an issue.
Released under the MIT License. Free to use, modify, and distribute.
Made with ☕ · oDoc