Free tools / JSON to PDF

JSON to PDF playground

A template on the left, a payload in the middle, a real PDF on the right.

This is the whole product in one screen. Your template is stored on a Galley account as a versioned object with a JSON Schema; the payload is validated against that schema before anything renders; the output is a signed URL. Press render twice with the same input and the second one is a cache hit — same file, no charge.

It is Liquid inside HTML, so {{ title }}, {% for row in rows %} and filters like | money and | date_medium all work. Page setup is ordinary print CSS: @page, break-inside, a repeating <thead>. There is nothing to learn that you would not already know from building a web page.

The template is saved to your trial account as playground. Each render publishes a new version, so nothing you rendered earlier changes.

50 of 50 trial renders left on this device

No key needed. Your browser calls the production service directly.

An example one-page document rendered by Galley.
Example output. Fill the form in and press render.

Response, verbatim
Press render to see the real response.

Then do it from code

Everything above is two API calls: one to publish the template, one to render it. Pin the version in anything you ship.

The same thing in a scriptshell
# 1. Publish the template once.
curl -sS https://api.galleyrender.com/v1/templates \
  -H "Authorization: Bearer $GALLEY_API_KEY" \
  -H 'content-type: application/json' \
  -d @template.json

# 2. Render it as often as you like.
curl -sS https://api.galleyrender.com/v1/render \
  -H "Authorization: Bearer $GALLEY_API_KEY" \
  -H 'content-type: application/json' \
  -d '{"template":"playground@1","format":"pdf","data":{"title":"Statement of work"}}'

Template language · Create a template · Render endpoint