RTF is rich text that almost every word processor ever written can open. JSON is a data tree of objects, lists, numbers and strings. pandoc sits between the two, and this page says exactly what happens to an RTF file on the way to becoming a JSON one.
What runs when an RTF file becomes JSON
pandoc in two passes, on a machine we rent and watch. Your RTF file is uploaded once, pandoc runs once, the JSON comes back, and neither file is kept. RTF to JSON 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 RTF into the JSON
Lists from the RTF file, nesting included, plus code blocks, block quotes and links, all re-expressed in JSON.
Images: pandoc extracts them out of the RTF file into a working directory and re-embeds them in the JSON, so nothing ends up pointing at a file that no longer exists.
What RTF to JSON costs you
Tables. The JSON writer cannot carry one, and the probe caught this the hard way: a CSV file, which is nothing but a table, came back as a well formed and completely empty JSON with a zero return code. The engine now refuses that case outright rather than handing you the emptiness.
Where RTF and JSON 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 JSON
Structure is what survives from the RTF file, and structure is what a model needs. RTF in, JSON out, with the heading tree intact instead of flattened into one long paragraph.
RTF to JSON, measured rather than promised
Running RTF to JSON against the real engine with a real file, pandoc wrote 1,743 bytes of JSON in 0.1 seconds, machine otherwise idle. That is one RTF file on one day and not an average, which is why the number is given together with the file that produced it.
The RTF to JSON 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 JSON file has anything inside it.
The same RTF file, sent somewhere else
Other outputs the probe measured out of an RTF file, so the cost of choosing JSON can be read against something. Sizes do not compare across engines, because each family was probed with its own RTF witness file.
RTF to PDF: 11,917 bytes in 1.1 seconds, verified by a format signature.
RTF to MD: 265 bytes in under a tenth of a second, verified by a pandoc round trip.
RTF to DOCX: 5,422 bytes in 1.1 seconds, verified by a format signature.
RTF to EPUB: 5,033 bytes in 0.1 seconds, verified by a pandoc round trip.
RTF to TXT: 263 bytes in under a tenth of a second, verified by reading the text back.
RTF to HTML: 3,985 bytes in 0.1 seconds, verified by a pandoc round trip.
Other ways into JSON, and what they measured
Among the published routes into JSON, RTF is the third largest output of the 8 measured. The witness files differ, so this ranks the probe run and not your document.
TXT to JSON: 1,343 bytes in under a tenth of a second.
CSV to JSON: 110 bytes in under a tenth of a second.
YAML to JSON: 110 bytes in under a tenth of a second.
DOCX to JSON: 1,722 bytes in 0.1 seconds.
HTML to JSON: 2,058 bytes in under a tenth of a second.
What we will not pretend about RTF to JSON
An RTF file over 25 MB is refused before the upload finishes rather than after it, so you do not wait for a rejection.
An RTF to JSON 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 RTF to JSON 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 JSON 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 RTF file goes through LibreOffice or calibre, both of which genuinely can.
One RTF file at a time, chosen in the browser. There is nothing else to set up and nothing else on offer.
RTF to JSON: what people ask
What actually converts my RTF file to JSON?
pandoc does it, in two passes, on a machine we rent and watch. Not a browser trick and not somebody else service: the RTF file is uploaded once, pandoc runs once, the JSON comes back, and neither file is kept afterwards.
How long does RTF to JSON take?
On the file the probe used, pandoc took 0.1 seconds and wrote 1,743 bytes of JSON. That is one real measurement on one real RTF file, not an average and not a promise about yours: a larger RTF takes longer, and past 60 seconds the run is stopped.
What do I lose going from RTF to JSON?
The one to know about first: Tables. The JSON writer cannot carry one, and the probe caught this the hard way: a CSV file, which is nothing but a table, came back as a well formed and completely empty JSON with a zero return code. The engine now refuses that case outright rather than handing you the emptiness.
Are the tables in my RTF file still tables in the JSON?
No, and that is a property of JSON rather than a defect of this path. JSON cannot hold a table, so an RTF file built around one is the wrong candidate for this pair.
Is RTF to JSON free?
There is a free allowance every month, and one RTF to JSON 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 JSON.