# Render-time benchmark (Dynamic Document API, October 2026)

Source: https://dynamicdocumentapi.com/benchmarks/render-time/ · Published by Dynamic Document API on 19 October 2026 · Data and chart
licensed under CC BY 4.0 (name Dynamic Document API and link to the source).

We rendered six everyday documents 100 times each against the production API of Dynamic Document API in the EU
(servers in Germany) on 19 October 2026, one request at a time, with a live API key (no watermark), and timed every
render on three clocks: in the renderer (`total_ms`), in the API (`Server-Timing: app;dur`) and on the calling
machine, a laptop in Germany (`client_ms`). Engine 2026.4 with Chrome 153.0.8010.47. 598 of
600 measured renders succeeded; 2 got no response because the client's connection was
reset and are not part of the numbers.

## Key results

- One-page invoice: median 124 ms in the renderer, 336 ms end to end.
- Five-page report: median 200 ms in the renderer, 469 ms end to end.
- 20-page catalog: median 276 ms in the renderer, 619 ms end to end.
- Each page beyond the first added about 8 ms; 20 pages took 2.2 times as long as one.
- Web page to PDF (12-page homepage): median 2.8 s in the renderer, mostly loading the page.
- In the renderer, p95 stayed within 1.6 times the median for every document; the end-to-end tail came from the network.

## Time in the renderer (`total_ms`, queue to stored file)

| Document | Median | p90 | p95 | Max |
|---|---|---|---|---|
| Invoice (1 page) | 124 ms | 170 ms | 185 ms | 204 ms |
| Markdown guide (2 pages) | 144 ms | 203 ms | 229 ms | 258 ms |
| Report (5 pages) | 200 ms | 251 ms | 270 ms | 287 ms |
| Product catalog (20 pages) | 276 ms | 323 ms | 326 ms | 475 ms |
| Social image (PNG, 1200 × 630) | 396 ms | 449 ms | 473 ms | 554 ms |
| Web page to PDF (12 pages) | 2,769 ms | 2,938 ms | 3,069 ms | 3,322 ms |

## End to end, from a laptop in Germany (`client_ms`, request sent to last byte received)

API = median of `api_ms − total_ms`; network = median of `client_ms − api_ms`.

| Document | File | Median | p95 | API | Network |
|---|---|---|---|---|---|
| Invoice (1 page) | 36 KB | 336 ms | 544 ms | 69 ms | 120 ms |
| Markdown guide (2 pages) | 64 KB | 369 ms | 566 ms | 69 ms | 146 ms |
| Report (5 pages) | 90 KB | 469 ms | 1,380 ms | 71 ms | 164 ms |
| Product catalog (20 pages) | 397 KB | 619 ms | 1,178 ms | 74 ms | 249 ms |
| Social image (PNG, 1200 × 630) | 455 KB | 760 ms | 1,186 ms | 73 ms | 267 ms |
| Web page to PDF (12 pages) | 3.0 MB | 3,855 ms | 5,300 ms | 116 ms | 919 ms |

## Where the time goes (medians)

| Document | Queue | Template | Rendering | Finishing | Storage | Total |
|---|---|---|---|---|---|---|
| Invoice (1 page) | 2 ms | <1 ms | 91 ms | <1 ms | 19 ms | 124 ms |
| Markdown guide (2 pages) | 2 ms | <1 ms | 111 ms | 1 ms | 15 ms | 144 ms |
| Report (5 pages) | 5 ms | 1 ms | 166 ms | 1 ms | 17 ms | 200 ms |
| Product catalog (20 pages) | 4 ms | 2 ms | 230 ms | 3 ms | 21 ms | 276 ms |
| Social image (PNG, 1200 × 630) | 2 ms | <1 ms | 307 ms | 54 ms | 27 ms | 396 ms |
| Web page to PDF (12 pages) | 2 ms | <1 ms | 2,644 ms | 45 ms | 65 ms | 2,769 ms |

## Questions

### How long does Dynamic Document API take to render a PDF?

In the render-time benchmark of 19 October 2026 (engine 2026.4), Dynamic Document API rendered a one-page invoice in a median of 124 ms, a five-page report in 200 ms and a 20-page catalog in 276 ms, measured in the renderer from queue to stored file. End to end, from a laptop in Germany to the EU API, the same documents took 336 ms, 469 ms and 619 ms at the median.

### How much does each extra page add to PDF render time?

In Dynamic Document API's October 2026 benchmark, each page beyond the first added about 8 ms of render time: a 20-page PDF took 2.2 times as long as a one-page PDF, because most of a render is fixed work such as loading the page in Chromium and writing the file.

### How long does converting a web page (URL) to PDF take?

Capturing the 12-page homepage of dynamicdocumentapi.com as a PDF took a median of 2.8 s in Dynamic Document API's renderer and 3.9 s end to end in the October 2026 benchmark, mostly for loading the page's fonts, images and scripts. Sending the HTML instead of the URL is much faster when you have the content.

### How fast is HTML to PNG image generation?

Dynamic Document API rendered a 1200 × 630 PNG social image from HTML in a median of 396 ms in the renderer and 760 ms end to end in the October 2026 benchmark, including 54 ms of PNG encoding.

### How was the render-time benchmark measured?

Six fixed documents were each rendered 100 times, one request at a time, against Dynamic Document API's production API in the EU on 19 October 2026, with a live API key and no watermark. Every render was timed in the renderer (total_ms), in the API (Server-Timing) and on the client; the script, the documents and the raw data are public under CC BY 4.0.

## Method

- Documents: a 1-page invoice (HTML with Jinja and JSON), a Markdown guide, a 5-page report with 5 tables and 128
  rows, a 20-page catalog with 38 SVG graphics, a 1200 × 630 PNG social image, and the homepage
  https://dynamicdocumentapi.com/ captured by URL. All except the URL capture carry their content in the request.
- Each render: synchronous `POST /v1/renders` with `delivery.type = binary`, a fresh `Idempotency-Key` and a unique
  value in the data; the next request started after the previous one returned and at least 3 seconds after it
  started. Order shuffled per round; the first two rounds were warm-up and are not counted.
- One kept-alive HTTPS connection. A plain authenticated `GET /v1/renders?limit=1` took
  107 ms–123 ms from the laptop.
- Percentiles: linear interpolation between closest ranks (Python `statistics.quantiles`, inclusive), rounded to
  whole milliseconds. Measured 19 October 2026, 12:33–13:05 UTC.

## Limits

One caller and one render at a time (not a load test); one client location and one half hour; our own documents;
only our own API, no other vendors. The often quoted median of 216 ms on the product pages is the median over 1,664
successful renders on engine 2026.4, a mix of documents; this benchmark fixes the documents instead.

## Data

- Raw data, one row per render: https://dynamicdocumentapi.com/assets/benchmarks/render-time-2026-10.csv
- Summary with percentiles: https://dynamicdocumentapi.com/assets/benchmarks/render-time-2026-10.json
- Chart: https://dynamicdocumentapi.com/assets/img/benchmarks/render-time-2026-10-en.svg
- Script and documents: https://dynamicdocumentapi.com/assets/benchmarks/render-time-benchmark-2026-10.zip

## Citation

Dynamic Document API (2026). Render-time benchmark, October 2026. https://dynamicdocumentapi.com/benchmarks/render-time/
