Go to Sign up
Note: Your files never leave your device. We don't upload, transfer, or store your data.
{{ output || 'No data to display' }}
PDF (Portable Document Format) is a file format developed by Adobe, standardized as ISO 32000. It preserves document layout, fonts, and graphics across all devices and operating systems. PDFs are widely used for reports, invoices, data exports, and print-ready documents.
Key properties:
| Property | Description |
|---|---|
| Fixed layout | Content appears identical on every device |
| Universal compatibility | Readable on Windows, macOS, Linux, iOS, Android |
| Print-ready | Exact page dimensions and margins |
| Compact | Efficient compression for text and vector graphics |
| Secure | Supports password protection and permissions |
JSON (JavaScript Object Notation) is a lightweight, human-readable text format defined by RFC 8259. It uses key-value pairs and ordered lists to represent structured data — commonly used in APIs, configuration files, and data interchange.
| Use Case | Description |
|---|---|
| Reports | Generate formatted data reports from JSON API responses |
| Invoices | Convert order data from JSON into printable invoice PDFs |
| Data sharing | Share tabular data with non-technical stakeholders who need a readable format |
| Archiving | Preserve data snapshots in a fixed, non-editable format |
| Print output | Create print-ready documents from structured data |
| Compliance | Generate auditable, immutable records from system data |
| Client deliverables | Present data analysis results in a professional format |
File Upload: Drag and drop or select a .json file.
Code Editor: Paste or type raw JSON with syntax highlighting and real-time validation.
Click Sample to load pre-built example data. Click Example to see a different dataset. Both options let you test the tool without preparing your own JSON.
Choose from multiple table themes that control the visual style of the PDF table — including border style, row striping, font sizing, and cell padding. Each theme produces a distinct look suitable for different contexts (corporate reports, academic papers, casual data dumps).
Set the background color of the table header row. This allows branding customization — match your company colors or create visual hierarchy.
Common uses:
Corporate blue — #1a5276 or #2c3e50
Brand color — Match your organization's primary color
High contrast — #000000 for maximum readability
Toggle the table header row on or off. When disabled, the PDF table displays data rows without column labels. Useful when:
Column names are self-evident from the data
You need a minimal, clean table layout
The header is provided separately in the document title
Set a title that appears at the top of the PDF document, above the table. Use this to provide context:
Q1 2026 Sales ReportEmployee Directory — Acme CorpServer Monitoring Data — May 2026Add a description that appears below the title, above the table. Use this for supplementary context:
Generated from API endpoint /api/v1/salesData collected between January 1 – March 31, 2026Source: internal CRM exportAll processing runs entirely in your browser. No data is uploaded to any server.
Choose one of two input methods:
Upload a file: Click "Choose File" and select a .json file, or drag it into the upload area.
Paste data: Click "Enter Data" to switch to the code editor. Paste your JSON array. A "Valid JSON" badge confirms correct formatting.
Important: The tool expects a JSON array of objects (one object per table row):
[{"name": "Alice", "age": 30, "city": "New York"},{"name": "Bob", "age": 25, "city": "London"}]Use the Properties panel on the right:
PDF Table Theme: Select a visual theme for the table.
PDF Header Color: Choose a color for the header row background.
PDF Header Display: Toggle header row visibility.
PDF Document Title: Enter a title for the PDF.
PDF Description: Enter an optional description.
Click Convert. The PDF is generated client-side and appears as a download.
Click Download File to save the PDF to your device.
Input JSON:
[
{"id": 1, "name": "Alice", "department": "Engineering", "salary": 95000},
{"id": 2, "name": "Bob", "department": "Marketing", "salary": 78000},
{"id": 3, "name": "Charlie", "department": "Engineering", "salary": 102000},
{"id": 4, "name": "Diana", "department": "Design", "salary": 85000}
]
Configuration:
Table Theme: (selected theme)
Header Color: #2c3e50
Header Display: On
Document Title: Employee Salary Report — Q1 2026
Description: Source: HR database export, May 2026
Output:
A PDF document containing:
Title: "Employee Salary Report — Q1 2026"
Description: "Source: HR database export, May 2026"
A styled table with 4 columns (id, name, department, salary) and 4 data rows
Configuration:
Table Theme: (selected theme)
Header Display: Off
Document Title: (empty)
Description: (empty)
Output: A clean PDF containing only the data table with no title or header row.
The tool expects a JSON array of objects. Each object becomes a row in the PDF table. Object keys become column headers.
| Format | Supported | Notes |
|---|---|---|
| Array of objects | Yes | Primary format: [{"key": "value"}, ...] |
| Array of arrays | No | Not supported — use array of objects |
| Single object | No | Wrap in array: [{...}] |
| Nested objects | Limited | Nested values may be serialized as strings |
[
{"product": "Laptop", "price": 999.99, "in_stock": true},
{"product": "Phone", "price": 699.99, "in_stock": false}
]
{"product": "Laptop","price": 999.99}Wrap single objects in an array: [{...}]
[
{"endpoint": "/api/users", "status": 200, "latency_ms": 45, "requests": 1200},
{"endpoint": "/api/orders", "status": 200, "latency_ms": 120, "requests": 850},
{"endpoint": "/api/products", "status": 500, "latency_ms": 3200, "requests": 340}
]
Title: API Health Report — May 6, 2026
[
{"question": "Satisfaction", "agree": 72, "neutral": 18, "disagree": 10},
{"question": "Recommend", "agree": 85, "neutral": 10, "disagree": 5},
{"question": "Ease of use", "agree": 68, "neutral": 22, "disagree": 10}
]
Title: Customer Survey Results — Q1 2026
[
{"sku": "WH-001", "name": "Widget A", "quantity": 150, "warehouse": "East"},
{"sku": "WH-002", "name": "Widget B", "quantity": 0, "warehouse": "East"},
{"sku": "WH-003", "name": "Gadget C", "quantity": 340, "warehouse": "West"}
]
Title: Warehouse Inventory Snapshot
| Feature | CSV | Excel | HTML Table | |
|---|---|---|---|---|
| Fixed layout | Yes | No | No | No |
| Print-ready | Yes | No | Partially | Partially |
| Editable | No | Yes | Yes | Yes |
| Styling | Full | None | Full | Full |
| Universal viewer | Yes | No | No | Browser |
| File size | Small | Smallest | Medium | Small |
| Best for | Sharing, printing, archiving | Data processing | Analysis, editing | Web display |
No. All conversion happens locally in your browser using JavaScript. Your data never leaves your device.
A JSON array of objects: [{"key": "value"}, ...]. Each object becomes a row; object keys become column headers. Single objects must be wrapped in an array.
Multiple themes are available in the Properties panel. Each theme applies different styling to borders, fonts, row colors, and cell padding. Select a theme to see the result in the generated PDF.
Yes. Use the "PDF Header Color" option in the Properties panel. Enter any hex color code (e.g., #2c3e50) or use the color picker.
It toggles the column header row. When enabled, object keys appear as the first row. When disabled, only data rows are shown.
Yes. Enter a title in "PDF Document Title" and an optional description in "PDF Description." Both appear at the top of the PDF, above the table.
The tool processes data entirely in your browser. Files up to 10 MB typically convert without issues on modern hardware.
Yes. The tool is responsive and works on smartphones and tablets.
Nested objects are serialized as strings in the PDF cells. For best results, flatten nested structures before converting.