Private by Design
Files open via the browser's FileReader API. No server ever receives your content — not even for a millisecond. Your notes, documentation, and journals stay yours.
Free .md file viewer and md reader. Open .md files and folders instantly in your browser — no uploads, no accounts. Works offline.
ReadLocal renders Markdown entirely in your browser. Drop any .md file or folder to begin.
A free, open-source Markdown viewer that runs entirely in your browser. Drop a file or folder — nothing leaves your device.
Files open via the browser's FileReader API. No server ever receives your content — not even for a millisecond. Your notes, documentation, and journals stay yours.
Install once, read forever. A full Workbox service worker caches every asset on first load. Open ReadLocal with zero internet. Works on desktop, Android, and iOS.
Drop an entire project directory. ReadLocal recursively traverses subdirectories and renders a collapsible folder tree in the sidebar — exactly like your file manager.
No feature bloat. Every decision was made with privacy and simplicity first.
Tables, fenced code blocks with syntax highlighting for 180+ languages, task lists, strikethrough, blockquotes, collapsible details sections, superscript, and subscript. Exactly what GitHub renders.
<details> sectionsThree font sizes (S · M · L). Four column widths: 580px · 740px · 960px · Full. Warm cream light theme and deep ink dark theme. All settings auto-save to localStorage — nothing to configure, ever.
All settings auto-save to localStorage. Nothing to configure — just read.
Enable "Remember Files" via the header toggle and your documents survive a browser refresh — stored locally via IndexedDB, never sent anywhere. Turn it off and nothing is stored. Default is off.
Star any file for instant access at the top of the sidebar. Favorites persist across sessions as a list of IDs in localStorage — no file content is stored, just references.
DOMPurify sanitization with a protocol-validation hook. <script>, <iframe>, inline event handlers (onclick, onerror), and data: URIs are stripped before rendering. Open any .md file safely.
<script> tagsstrippedonclick handlersstrippeddata: URIsstrippedInstant filename and path filtering across all loaded files. Results narrow as you type — no debounce, no delay. Find any file in a large project immediately.
Every fenced code block gets a copy button in the header. One click copies the entire code block to your clipboard with visual feedback — no manual selection needed.
Auto-generated TOC panel from all headings in your document. Click any heading to jump directly to that section. Perfect for long documentation and README files.
Ctrl+F style search within the current document. All matches are highlighted, and you can navigate between them with arrow buttons. The current match is emphasized.
Export your Markdown as a perfectly formatted PDF. The reading UI is hidden during export, leaving just your beautifully rendered content with all syntax highlighting intact.
Open two documents side by side with independent controls. Each pane has its own font size, column width, and theme settings — perfect for comparing documentation or referencing while writing.
No setup required. No account needed. Just drop .md files and read.
Drag any .md file or folder onto the app. Or click Add to use the file picker.
Your folder structure with .md files appears instantly in the sidebar. Click any .md file to open it in the reading area.
Adjust font size, column width, and theme to your preference. Everything remembers itself the next time you open the app.
The only network requests ReadLocal ever makes are to load its own JS/CSS/font assets from the host server on first load. After that, everything comes from your local cache.
ReadLocal is actively developed. Everything we ship is open source and privacy-first.
17 features shipped
highlight.js, 180+ languages
Drag-and-drop with cycle detection
IndexedDB, opt-in, privacy-respecting
Quick file access via starred list
DOMPurify + protocol validation hook
Full offline caching
Graceful recovery UI
Full ARIA accessibility
One-click copy on every fenced code block
Auto-generated from headings with smooth scroll
YAML front matter as styled document header
Ctrl+F style search with highlighted matches and navigation
One-click clean export with UI hidden
Two documents side by side with independent controls
Edit markdown directly with live preview and soft line breaks
User notifications for save failures and storage issues
Comprehensive TypeScript strict mode compliance
2 features in pipeline
Support ./relative.png paths from dropped folders
Flowcharts, sequence diagrams, ERDs in Markdown
Have a feature request? We'd love to hear from you.
Request a Feature on GitHubReadLocal works as a native-feeling app on any device. No app store. No account. Install directly from your browser.
Windows, macOS, Linux, Android
Look for the "Install ReadLocal" banner at the bottom of the page, or click the install icon in the browser's address bar.
iPhone / iPad
Tap the Share button (square with upward arrow) → scroll to "Add to Home Screen" → tap Add.
All Android devices
Open the three-dot menu → "Add to Home Screen" or "Install App".
ReadLocal is MIT-licensed and fully open source. Self-host in three commands. No vendor lock-in. No telemetry. No subscription required.
Free for personal and commercial use
No tracking, no phone home, ever
Deploy anywhere in 3 commands
git clonehttps://github.com/Imranpranto/readlocal-local-markdown-md-file-renderer.gitnpm installnpm run dev