Private by Design
.md 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.
Three principles that guide every decision in ReadLocal MD viewer.
.md 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 .md files 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 with .md files. 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.
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.
8 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
8 features in pipeline
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
Support ./relative.png paths from dropped folders
Flowcharts, sequence diagrams, ERDs in Markdown
One-click clean print stylesheet
Split view for power users
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