HTML is the markup of the web, with native headings and tables. RTF is rich text that almost every word processor ever written can open. pandoc sits between the two, and this page says exactly what happens to an HTML file on the way to becoming an RTF one.
What runs when an HTML file becomes RTF
pandoc in two passes, on a machine we rent and watch. Your HTML file is uploaded once, pandoc runs once, the RTF comes back, and neither file is kept. HTML to RTF is one of the 3649 pairs that engine was probed on with a real file, which is why it has a page here and why the pairs the probe could not prove do not.
What survives from the HTML into the RTF
The heading hierarchy. pandoc parses the HTML file into its own document tree and writes that tree out as RTF, so a level two heading is still a level two heading and not merely bold text.
Tables, rebuilt in RTF syntax rather than screenshotted. That is the difference between a table a machine can read and a picture of one, and it is the whole reason to send an HTML file through pandoc rather than through a printer.
Lists from the HTML file, nesting included, plus code blocks, block quotes and links, all re-expressed in RTF.
Images: pandoc extracts them out of the HTML file into a working directory and re-embeds them in the RTF, so nothing ends up pointing at a file that no longer exists.
What HTML to RTF costs you
The presentation layer. pandoc does not translate the HTML file into RTF, it rebuilds it from its own document tree, so custom styles, page setup, headers and footers do not cross over. The structure does, and that is what the tree is made of.
Where HTML and RTF files come from
RTF. Almost everything can write it, and that is the point: an RTF is plain text you can open in a text editor and read. It was the interchange format before there was an open standard, and it survives in exports from software too old or too small to ship anything better.
If a model is going to read the RTF
Structure is what survives from the HTML file, and structure is what a model needs. HTML in, RTF out, with the heading tree intact instead of flattened into one long paragraph.
HTML to RTF, measured rather than promised
Running HTML to RTF against the real engine with a real file, pandoc wrote 775 bytes of RTF in under a tenth of a second, machine otherwise idle. That is one HTML file on one day and not an average, which is why the number is given together with the file that produced it.
The HTML to RTF verdict was reached by a pandoc round trip, meaning the output was read back by pandoc and had to still contain a witness word planted in the source, which proves the content travelled and not merely the container. Which check was used matters, because they do not all prove the same thing, and a status code of 200 proves nothing whatsoever about whether the RTF file has anything inside it.
The same HTML file, sent somewhere else
Other outputs the probe measured out of an HTML file, so the cost of choosing RTF can be read against something. Sizes do not compare across engines, because each family was probed with its own HTML witness file.
HTML to PDF: 25,178 bytes in 1.9 seconds, verified by a format signature.
HTML to MD: 371 bytes in under a tenth of a second, verified by a pandoc round trip.
HTML to DOCX: 10,277 bytes in 0.1 seconds, verified by a pandoc round trip.
HTML to EPUB: 5,027 bytes in 0.1 seconds, verified by a pandoc round trip.
HTML to TXT: 270 bytes in under a tenth of a second, verified by reading the text back.
HTML to ODT: 7,629 bytes in 0.1 seconds, verified by a pandoc round trip.
Other ways into RTF, and what they measured
Among the published routes into RTF, HTML is the eighth largest output of the 11 measured. The witness files differ, so this ranks the probe run and not your document.
JSON to RTF: 687 bytes in 0.1 seconds.
MD to RTF: 687 bytes in under a tenth of a second.
MOBI to RTF: 2,489 bytes in 0.6 seconds.
ODT to RTF: 4,214 bytes in 1.1 seconds.
TXT to RTF: 484 bytes in under a tenth of a second.
What we will not pretend about HTML to RTF
An HTML file over 25 MB is refused before the upload finishes rather than after it, so you do not wait for a rejection.
An HTML to RTF run that passes 60 seconds is killed, and the pandoc process is killed with it. A run left behind would sit on one of the machine's two cores until somebody noticed.
32 of the 935 pairs probed in the family that serves HTML to RTF failed, and this pair is not one of them. They fail for reasons worth knowing: a writer that cannot carry what the document is made of, or output the engine could not read back. They are counted here rather than hidden, because a pair that fails quietly is worse than one that fails loudly.
pandoc never writes the RTF through a TeX engine here, and it never writes PDF at all: the eleven engines it would need are not on this machine and a TeX distribution weighs several gigabytes. Anyone who wants a PDF out of an HTML file goes through LibreOffice or calibre, both of which genuinely can.
One HTML file at a time, chosen in the browser. There is nothing else to set up and nothing else on offer.
HTML to RTF: what people ask
What actually converts my HTML file to RTF?
pandoc does it, in two passes, on a machine we rent and watch. Not a browser trick and not somebody else service: the HTML file is uploaded once, pandoc runs once, the RTF comes back, and neither file is kept afterwards.
How long does HTML to RTF take?
On the file the probe used, pandoc took under a tenth of a second and wrote 775 bytes of RTF. That is one real measurement on one real HTML file, not an average and not a promise about yours: a larger HTML takes longer, and past 60 seconds the run is stopped.
What do I lose going from HTML to RTF?
The one to know about first: The presentation layer. pandoc does not translate the HTML file into RTF, it rebuilds it from its own document tree, so custom styles, page setup, headers and footers do not cross over. The structure does, and that is what the tree is made of.
Are the tables in my HTML file still tables in the RTF?
Yes. pandoc reads the HTML tables into its own document tree and writes them back out in RTF syntax, so what you get is a table a machine can parse rather than a picture of one.
Is HTML to RTF free?
There is a free allowance every month, and one HTML to RTF conversion costs half a credit against it. When the allowance runs out the tool says so and stops, rather than quietly handing you a worse RTF.