How Markdown Safe Converts Documents Locally Without Uploads
Markdown Safe is built around a simple architectural promise: document conversion should happen in the browser tab, without sending the selected file to a conversion server. This post explains the technical path from local file selection to downloadable Markdown.
The conversion boundary
The most important design decision is the boundary between the website and the user's document. Markdown Safe serves the app, scripts, styles, icons, OCR assets, and ads like a normal static website. The selected document itself is read by browser APIs and converted in the current tab.
That means the browser can still make ordinary page requests, but the conversion pipeline does not require a document upload endpoint. The file starts as a local File object, becomes text or structured content in memory, and ends as Markdown the user can copy or download.
- The user chooses or drops a file into the browser.
- The File API reads the local file into memory.
- Format-specific parsers convert the document into text or HTML-like structure.
- Cleanup logic normalizes the result into Markdown.
- The user reviews, edits, copies, or downloads the .md output.
Why the app is static-friendly
Markdown Safe is built as a static-friendly Next.js application. There is no required backend conversion service for DOCX, PDF, EPUB, Apple Pages, images, HTML, TXT, RTF, Notion exports, or Google Docs exports.
Static hosting is a practical privacy advantage. The site can be served from a CDN while conversion work stays on the device. It also makes the system easier to inspect because there is no hidden upload queue, document worker, or file database needed for the core converter.
DOCX conversion
DOCX files are zip packages that contain document XML and related metadata. Markdown Safe uses a browser-side DOCX parser to extract document structure and transform common elements into Markdown.
The best results come from documents that use real heading styles, normal paragraphs, lists, links, emphasis, and simple tables. Visual Word layout features such as text boxes, floating images, comments, tracked changes, and heavily styled tables need human review because Markdown is not a full layout format.
- Heading styles become Markdown headings.
- Paragraphs become Markdown paragraphs.
- Bold, italic, lists, links, and many tables are preserved where possible.
- Complex visual layout is treated as draft material, not a perfect replica.
PDF conversion
PDFs are presentation containers, not semantic writing formats. Markdown Safe reads embedded selectable text from PDF files locally and adds page markers so users can compare the output against the source.
This is useful for text PDFs, but scanned PDFs are different. If a PDF page is only an image, direct text extraction can return little or nothing. In that case, the better path is to render or export the page as an image and use OCR.
EPUB, Apple Pages, Notion, and Google Docs
EPUB files are read as package files. The converter follows the ebook spine, then transforms readable HTML or XHTML chapters into Markdown. This produces a text-first draft that is useful for notes, manuals, and documentation, but it may not preserve images, navigation, footnotes, or DRM-protected content.
Apple Pages files are packages too. Markdown Safe looks for readable legacy XML or an embedded Quick Look PDF preview. If neither path contains useful text, exporting from Pages to DOCX is usually the best fallback.
Notion exports are handled as ZIP packages containing exported Markdown or HTML pages. Google Docs requires a local export first, usually DOCX or HTML, because .gdoc shortcut files do not contain the document body.
Image OCR runs locally
For image-to-Markdown conversion, Markdown Safe uses local OCR in the browser. The OCR worker and English language files are served by the site, while the selected image is processed in the current browser session.
OCR is powerful but imperfect. It can misread punctuation, merge columns, lose table structure, or confuse similar characters. That is why the app treats OCR output as editable Markdown draft text, not an authoritative transcript.
- Best inputs are crisp screenshots and scans with high contrast.
- Blurry, angled, handwritten, or decorative text needs extra review.
- Sensitive screenshots can contain private information even when they look routine.
Markdown cleanup
After conversion, Markdown Safe applies cleanup steps that reduce noisy whitespace, normalize line endings, collapse repeated blank lines, and make the output easier to edit. Cleanup is intentionally conservative.
The app does not try to invent missing document structure with AI. That keeps conversion explainable: if a parser can extract structure, the output reflects it; if the source format does not expose structure cleanly, the user reviews the draft.
How users can verify the no-upload behavior
The practical verification method is the browser Network tab. Open developer tools, select the Network panel, clear previous requests, then convert a test file. The expected result is that no request uploads the document file to a conversion endpoint.
Users may still see requests for normal site assets, ads, fonts if a page uses them, or OCR support files. The privacy claim is specifically about document contents: the selected file should not be sent to Markdown Safe servers for conversion.
- Use a small test file with a unique phrase.
- Filter network requests by Fetch/XHR and by file name.
- Confirm the Markdown appears without a document upload request.
- Repeat after browser extension or privacy-tool changes if needed.
Why this matters for trust
Backlinks and directory listings are more useful when they point to real proof, not just a homepage. A technical architecture post helps Product Hunt, Hacker News, Indie Hackers, AlternativeTo, SaaSHub, search engines, and AI recommendation systems understand what makes Markdown Safe different.
The core differentiator is not simply that it converts files to Markdown. It is that the converter covers common document formats while keeping the conversion step local and reviewable.
Bottom line
Markdown Safe converts documents by serving a static web app, reading selected files through browser APIs, parsing formats locally, cleaning the result into Markdown, and leaving the final review with the user.