All processing happens in your browser. Your file is never uploaded to any server.
Paste JSON
Upload File

Click to select or drag & drop a .json file


    
What the PDF font cannot draw

The PDF is drawn in your browser. Your data is never uploaded to any server.

JSON to PDF

This free JSON to PDF converter turns JSON into a PDF entirely in your browser. Paste your JSON or upload a .json file, choose how the structure should land on the page, set the page up, and download a .pdf file. Nothing leaves your device, and there is no sign-up.

Two things decide whether the PDF is usable. The first is structure: JSON is a tree and a page is a table or a list, so something has to decide what becomes a row and what becomes a column. The second is type: the fonts built into a PDF can only draw Latin characters, so a value in Chinese, Japanese, Korean, Arabic or an emoji cannot be drawn by them. This page settles the first by showing you the rows and columns it will print, and it refuses to hide the second — it lists every place your data contains a character the built-in font cannot draw, before you download anything.

How to use this JSON to PDF converter

What this tool supports

Three ways to lay out your JSON

LayoutBest forWhat it prints
Tablea list of records that share fieldsone row per record, one column per key; the column set is the union of every record, in the order the keys first appear
Key / value lista single nested objectan indented listing of every key and value, nesting and array indexes preserved
Pretty JSONsharing the data as-isthe whole document, indented, in the PDF's own text flow

Columns, nesting and missing fields

In table layout, a column appears once even if only one record has it, and records that do not have it get an empty cell. A nested object or array is written into the cell as JSON text, so nothing is silently dropped; switch Nested values to Flatten with dots and address.city becomes its own column instead.

Long text is wrapped, never cut off

A value wider than its column is wrapped onto more lines inside the same row, and the row grows. Nothing is truncated, and no column is silently widened off the page. The report tells you how many cells had to wrap.

Page setup

A4 or Letter, portrait or landscape, font size 8, 10 or 12. Long tables continue onto the next page with the header row repeated, every page is numbered, and an optional title is printed at the top of the first page.

Characters the built-in font cannot draw

The standard PDF fonts are encoded for Western European languages. They can draw ASCII, the accented Latin letters of Western Europe, and a handful of punctuation marks such as curly quotes and dashes. They cannot draw Chinese, Japanese, Korean, Cyrillic, Greek, Arabic, Hebrew, Thai or emoji. Rather than producing a file full of blank boxes, this page checks your data first and lists where those characters are:

Your valueWhat happens
cafédrawn correctly — accented Latin letters are supported
and curly quotesdrawn correctly — they are part of the supported set
Chinese, Japanese, Koreannot supported — named in the report before you download
Cyrillic, Greek, Arabic, Hebrew, Thainot supported — named in the report before you download
emojinot supported — named in the report before you download

If your data contains those characters, use JSON to Excel for a spreadsheet, or JSON to XML for a structured file — both keep every character because they do not depend on a PDF font.

Privacy and limits

The PDF is drawn on your own device by your browser's JavaScript. No file is uploaded, nothing is stored after you close the tab, and there is no account. Because the page is drawn in your browser's memory, very large documents (tens of thousands of records) take longer and produce a large file; typical exports and API responses convert in a moment.

What this tool does not do

Frequently asked questions

Is this JSON to PDF converter free?

Yes. No account, no sign-up, no conversion limit, and no upload — the PDF is drawn in your browser.

Is my JSON uploaded anywhere?

No. The file you pick is read with the browser's own File API and converted in the page. There is no request that carries your data.

Why are my Chinese characters missing from the PDF?

Because the standard PDF fonts cannot draw them. The report under the output names every field where this happens, before you download. For those characters, use JSON to Excel or JSON to XML, which keep all text.

How does it decide what a row is?

In table layout, each element of your JSON array is one row. If your JSON is an object rather than a list, use the key/value listing, or wrap your records in an array.

Some records have fields others do not. What happens?

The column set is the union of every record. A record that does not have a field gets an empty cell — no column is dropped and no value is invented.

My long text is cut off. Is it?

No. Text longer than a column is wrapped onto extra lines and the row grows. Only the preview in the panel truncates, for readability; the PDF itself keeps everything.

Can I choose the page size and orientation?

Yes — A4 or Letter, portrait or landscape, and a font size of 8, 10 or 12. Landscape with a smaller font fits the most columns.

Does the PDF repeat the header row on every page?

Yes. Long tables continue onto a new page with the column headers reprinted at the top, and every page is numbered.

Can I add a title?

Yes. Type it into the Title box and it is printed at the top of the first page and stored in the PDF's metadata.

How many pages will I get?

The panel tells you after each conversion: pages, rows and columns. Switch to landscape or a smaller font to fit more per page.

Is there a file size limit?

There is no imposed limit. The PDF is drawn in your browser's memory, so very large documents depend on your device. Typical exports convert in a moment.

Why does it say my JSON is invalid?

The message names the line and column where parsing stopped. Common causes are a trailing comma, single quotes around keys, or an unquoted key. Fix that position and it converts.

What if I need another format?

For a spreadsheet use JSON to Excel, for tabular text use CSV to Excel or CSV to JSON, and for configuration files use JSON to YAML.