About My PDF 2 MD

Last reviewed

My PDF 2 MD converts PDF documents into Markdown without uploading them. This page explains who runs it, how the conversion works, where it fails, and how a free tool that never receives your files pays for itself.

Who runs this site

My PDF 2 MD is built and operated by MyPDF2MD.com, an independent software project based in Kozhikode, Kerala, India. It is not backed by a venture fund, it is not a front for a document-processing API, and it does not resell anything you convert.

The site is run by one small team. There is no support queue behind a chatbot: mail reaches a person. General questions go to support@mypdf2md.com; anything about personal data goes to privacy@mypdf2md.com. Both are answered within five working days, and the contact page has a form if you would rather not use mail.

Why it exists

Almost every PDF-to-Markdown tool on the web works the same way: you upload your document to a server you know nothing about, it is processed there, and you are asked to trust a sentence in a privacy policy about what happened to it afterwards. For a restaurant menu that is fine. For a signed contract, a medical letter, a set of board minutes or an unpublished manuscript, it is not a trade most people would make knowingly.

The technology to avoid that trade has been in browsers for years. PDF.js, Mozilla's PDF renderer, runs in the page and can read a document without any part of it crossing the network. What was missing was not capability but a tool built around it. So this one converts on your own machine by default, and the privacy claim on the homepage is a description of the architecture rather than a promise about our conduct.

That decision has a cost, and it is worth stating plainly: a browser tab has less memory and less CPU than a server, so very long or very complex documents convert more slowly here than they would on a hosted service. We think that is the right trade for the documents people actually worry about.

How the conversion actually works

This is the part most converters describe as magic, and it is worth understanding because it explains the mistakes the tool makes.

A PDF does not contain headings, paragraphs, lists or tables. It contains glyphs at coordinates. When a word processor exports a PDF, the semantic structure of the original document — this run of text is a level-two heading, these lines are one paragraph, these cells form a table — is discarded and replaced with instructions for painting marks on a page. Converting a PDF to Markdown means inferring that structure back from the geometry, and inference is not extraction.

The converter starts by finding the body text height: the most common font height in the document, weighted by how many characters are set at it. Everything else is measured in multiples of that unit, which is what makes the result independent of whether the document is set in 9pt or 14pt.

From there the rules are geometric. Text runs sharing a baseline within about a third of the body height are one line. Consecutive lines separated by no more than one and a half body heights are one paragraph. A run set noticeably larger than the body — roughly 1.2 times and up — is a heading, and how much larger decides whether it becomes an H1, an H2 or an H3. Two or more consecutive rows whose cells line up on at least two shared x-positions are a table. A vertical gutter near the middle of a page splits it into columns so the reading order does not zig-zag between them. Running headers and footers, which repeat at the same position page after page, are detected and dropped.

Inline formatting is read from the font itself rather than guessed: bold and italic come from the font's own weight and slant, and monospaced runs become code. Links embedded in the PDF are preserved as Markdown links.

Where it gets things wrong

Because structure is inferred, the tool has predictable failure modes, and we would rather list them than have you discover them in a document that mattered.

  • A document that styles headings by weight alone, without changing size, gives the heading detector nothing to work with — those headings come out as ordinary paragraphs.
  • Tables with merged cells, nested tables, or cells whose contents wrap across several lines lose their alignment, because the column detector works on x-positions and merged cells break the grid.
  • Multi-column layouts more elaborate than a simple two-column split — a magazine page with pull-quotes and sidebars — can produce a scrambled reading order.
  • Mathematical notation is not converted to LaTeX. Formulae set as text arrive as the characters they are made of; formulae set as images do not arrive at all.
  • Images are not extracted. The output is text and structure.
  • A scanned document contains no selectable text at all, so in-browser conversion produces nothing from it. That case is handled separately, by the optional recognition described below.

The one thing that does leave your device

A scan is a picture of a page. There is no text in it to read, so no amount of parsing in your browser will produce any. Reading it requires optical character recognition, which needs far more compute than a browser tab can offer.

For that case, and only that case, you can ask us to recognise a document on our own server. It is never automatic. The tool detects that a file has no selectable text, says so, and offers recognition as a choice you have to confirm — a dialogue that tells you how many pages will be uploaded, where they go, and how long they are kept, before anything is sent.

The recognition runs on our own infrastructure with our own engine. The file is held in memory for the duration of the job and destroyed when it finishes; nothing is written to disk and no third party receives it. What we retain is a usage record — page count, timestamp, recognition language, and either your account ID or a salted hash of your IP — which exists to enforce the daily allowance and to spot abuse, contains no part of your document, and is deleted after thirty days.

Recognition output is an estimate, not a transcription. It misreads characters, particularly in names, numbers, dates and reference codes, and words it cannot read are dropped rather than flagged. The result is badged accordingly, with the engine's own confidence score and a list of the pages it was least sure about. It does not read handwriting and does not convert mathematical formulae.

How a free tool pays for itself

The web converter is free, has no sign-up, and carries advertising. We think that is the honest arrangement to state on the page rather than to discover, so: this site earns money from ads, and it does not earn money from your documents.

It cannot earn money from your documents, which is the point of the architecture rather than a policy we are asking you to trust. A file converted in your browser never reaches us. There is no corpus of uploaded PDFs here to mine, to train on, or to sell, because there is no upload.

Advertising is loaded only after you consent to it. Decline the advertising category in the cookie banner and no ad script loads at all — not a script that shows fewer ads, none. The same applies to analytics. Both categories are off until you turn them on, and the footer has a link to change your mind later.

No page on this site asks you to pay for anything: there is nothing to buy, no plan to upgrade to, and no account to create.

What we do not do

  • We do not upload documents converted in the browser — there is no code path that could.
  • We do not require an account, an email address, or a sign-in to use the web converter.
  • We do not store, index, train on, or sell any document or any converted output.
  • We do not load advertising or analytics before you consent to that category.
  • We do not claim any rights over the documents you convert or the Markdown you get back.

How it is built

For anyone who wants the specifics rather than the reassurance:

PDF parsingPDF.js, running in a Web Worker in your browser
Structure detectionCustom spatial layout parser over positioned text runs
Output formatGitHub Flavored Markdown, including pipe tables
ApplicationNext.js with the App Router, React and TypeScript
Interface languages10, with right-to-left support for Arabic
Maximum file size50 MB
CostFree, advertising-supported, no account
Operated byMyPDF2MD.com, Kozhikode, Kerala, India

Corrections

If something on this site is wrong — a factual error in a guide, a conversion that fails in a way we have not described, a claim here that does not match what the tool does — tell us at support@mypdf2md.com and we will fix it and say what changed. The date at the top of this page is when its contents were last checked against the product.