Seven ways in, one page out
A PDF is where a document goes when it has stopped being edited: it is the same on every screen, it prints the way it looks, and it is what people attach to things. Getting there normally means owning the program that wrote the document. This tool takes the seven formats that account for most of what people actually need converted, and writes the page itself.
Four of them are text you can paste: plain text, HTML, Markdown and MDX. Three are Open XML packages you drop in as files: .docx, .pptx and .xlsx. Underneath, four of the seven share a single path — Markdown and MDX become HTML, a Word document becomes HTML, and one reader turns that HTML into the blocks a page is laid out from. Plain text, a spreadsheet and a deck are each different enough to have readers of their own.
The pre-2007 binaries — .doc, .ppt, .xls — are not the same format with an older extension. They are a completely different container, and they are refused by name rather than left to fail as a broken archive. Open one and save it again in the modern format, and it will convert.
The text stays text
There are two ways to turn a document into a PDF in a browser. The common one is to render the document as a picture and put the picture on a page. It is much easier, it looks approximately right, and everything it produces is dead: nothing can be searched, selected, copied, read aloud by a screen reader, or indexed. A four-page memo becomes a four-megabyte photograph of a memo.
This tool lays out real text instead. Every paragraph is drawn as glyphs with a font behind them, every table is a table, every link is a link you can click. That means the layout engine has to make real decisions — where a line breaks, when a row is too tall for the page it started on, what a nested list is indented by — and those decisions are what most of this module is.
It also means the file is small. The same memo comes out at tens of kilobytes rather than megabytes, because a PDF stores the letters and a reference to the font, not a picture of them.
Every control, and when to reach for it
Nine controls, and not all of them apply to every format. A control that has nothing to decide for the document you loaded is dimmed rather than hidden, with a note saying why — a missing control is a control you go looking for.
| Option | What it does | Reach for it when |
|---|---|---|
| Page size | A4, Letter, Legal or A3. | The PDF is going somewhere that expects one — Letter in North America, A4 nearly everywhere else. |
| Orientation | Upright, sideways, or let the document decide. | A wide table is being cut off. The default turns the page sideways once a table passes seven columns. |
| Margins | How much white space frames the page. | The document is going to be bound, or you want fewer pages. |
| Body size | The body size in points; headings, tables and captions scale from it. | The document is long and you want fewer pages, or it is going to be read across a room. |
| Page numbers | A centred count in the bottom margin, or the slide number on a deck. | The document will be printed, or referred to by page in a meeting. |
| Include pictures | Embeds the pictures the document carries. | Turn it off for a text-only copy, or when a scanned image is making the file large. |
| Print link addresses | Writes each link's address after its text. | The PDF is going to be printed, where a blue word with nothing behind it is a dead end. |
| Speaker notes | Adds a page of notes after each slide that has any. | You are handing the deck to somebody who has to present it. |
| Repeat header rows | Repeats a table's first row at the top of every page it continues onto. | Nearly always, for a table longer than a page. Turn it off only when the first row is not a header. |
| A page per sheet | Starts each sheet on its own page under its own name. | The workbook has several sheets that are not meant to be read as one run. |
The interactions are worth stating outright. A presentation ignores the page size, the orientation, the margins and the body size, because a slide already is a page: it has a fixed rectangle and things placed on it, and re-flowing that onto A4 would put every shape somewhere it was not. Speaker notes exist only for a deck. Sheet separation and header repetition exist only where there are sheets and headers. A spreadsheet has no pictures to include and no links to print.
What survives, and what does not
A converter that claims to be lossless is not describing this problem honestly. Every format here says things a PDF page cannot, and the useful question is which of those things you are likely to miss.
- Word documents
- Headings, lists including numbering, tables, bold, italic, underline, strikethrough, links and embedded pictures all survive. What does not: page headers and footers, footnotes, comments, tracked changes, columns, text boxes, and any positioning you did by hand. Word's own styling — a coloured heading, a specific typeface — is not carried over; the document is re-set in this tool's typography.
- Presentations
- Each slide becomes one page at the deck's own size, and every text box, picture and table keeps the position and size the slide gave it — including shapes inside a group, and shapes that inherited their position from a layout. What does not survive: slide backgrounds and themes, charts and SmartArt, animations and transitions, and any shape that is a drawing rather than text or a picture. Nothing is replaced by a placeholder box, because a box the deck never had is worse than a gap.
- Spreadsheets
- Values, merged cells, date and percentage formats, and the sheet order all survive; hidden sheets are deliberately left out. Formulas are shown as their last calculated result, which is what the file stores. Cell colours, borders, conditional formatting, charts and images are not carried over — a spreadsheet's decoration is generally about editing it rather than reading it. Dates are written as YYYY-MM-DD, in ISO order rather than the sheet's own format, because a PDF gets sent to people and 03/04/2026 means two different days depending on where it lands.
- HTML, Markdown and MDX
- Headings, paragraphs, lists, tables, quotations, code blocks, rules, links and inline pictures survive. Scripts, stylesheets and head metadata are dropped rather than unwrapped into prose. CSS is not applied at all: this reads the structure of the document, not its styling. A picture only travels if it is already inside the file as a data URI — a remote address is never fetched, which is the same promise the rest of this page makes. MDX has its imports, exports, components and brace expressions removed first, and the tool says which kinds it removed.
- Plain text
- A .txt file is drawn exactly as it was written. Nothing is parsed — a leading # is a hash, an asterisk is an asterisk, and underscores either side of a word are underscores. Line breaks are kept, because in a file with no markup they are the only layout it has: an address block, a signature, an indented outline. A blank line starts a new paragraph, and leading indentation survives. What is lost is column alignment — the body face is proportional, so an ASCII table drawn with spaces will not line up. Paste that into the Markdown box inside a fence and it will.
Scripts, fonts, and the empty box problem
A PDF does not have fonts the way a web page does. Every glyph on the page has to come from a font embedded in the file, so a converter can only draw the scripts it ships a font for. Most browser-based converters do not mention this, and the result is a page of empty rectangles where somebody's language used to be.
This one ships two font packs and says what it cannot do. Latin, Greek and Cyrillic come from Roboto, which is bundled. Bengali comes from Noto Sans Bengali, fetched from this site the first time a document needs it — conjuncts, vowel reordering and Bengali numerals all render properly. Code blocks come from Roboto Mono, fetched the same way. Anything else — Chinese, Japanese, Korean, Arabic, Hebrew, Devanagari, Thai — has no font here, and the tool tells you so above the button rather than letting you find out from the file.
The font is chosen per run of characters rather than per paragraph, and that detail matters more than it sounds. Noto Sans Bengali contains no Latin glyphs at all — not a comma, not a full stop, not a digit. A paragraph mixing Bengali and English cannot have one font: it needs the Bengali stretches drawn by one and everything else by the other, split at the character. The danda that ends a Bengali sentence is a case of its own, since Unicode files it under Devanagari while every Indic script uses it.
Nothing is uploaded
The whole conversion happens in this tab. The document is read, laid out and written to a PDF by code running in your browser; no part of it is sent anywhere, and there is no server involved in the conversion at all.
Two things do cross the network, and neither carries your document. The page itself is downloaded like any web page. And a font pack is fetched from this site when a document needs one — the request asks for a .ttf file by name and says nothing about what is in the document beyond the fact that it contains Bengali or contains code.
A picture referenced by a web address inside an HTML document is deliberately not fetched. It is dropped and reported instead, because a document somebody dropped into this page does not get to make requests from their browser.
