Back to home
Free Tool

PDF generator

Customize layouts with a visual designer and export professional PDFs straight from the browser. Perfect for embedding as a no-cost resource on your site.

Visual Designer

Drag, resize, and duplicate fields just like Google Slides. Every field name becomes a key you can fill from the inputs panel.

Data Inputs

Provide one object per page. Duplicate objects to create multi-page PDFs. Use the sync button if you add new fields in the designer.

Template JSON

Export this JSON if you want to reuse the layout elsewhere. The designer keeps it in sync automatically.

{
  "basePdf": "data:application/pdf;base64,JVBERi0xLjcKJeLjz9MKNSAwIG9iago8PAovRmlsdGVyIC9GbGF0ZURlY29kZQovTGVuZ3RoIDM4Cj4+CnN0cmVhbQp4nCvkMlAwUDC1NNUzMVGwMDHUszRSKErlCtfiyuMK5AIAXQ8GCgplbmRzdHJlYW0KZW5kb2JqCjQgMCBvYmoKPDwKL1R5cGUgL1BhZ2UKL01lZGlhQm94IFswIDAgNTk1LjQ0IDg0MS45Ml0KL1Jlc291cmNlcyA8PAo+PgovQ29udGVudHMgNSAwIFIKL1BhcmVudCAyIDAgUgo+PgplbmRvYmoKMiAwIG9iago8PAovVHlwZSAvUGFnZXMKL0tpZHMgWzQgMCBSXQovQ291bnQgMQo+PgplbmRvYmoKMSAwIG9iago8PAovVHlwZSAvQ2F0YWxvZwovUGFnZXMgMiAwIFIKPj4KZW5kb2JqCjMgMCBvYmoKPDwKL3RyYXBwZWQgKGZhbHNlKQovQ3JlYXRvciAoU2VyaWYgQWZmaW5pdHkgRGVzaWduZXIgMS4xMC40KQovVGl0bGUgKFVudGl0bGVkLnBkZikKL0NyZWF0aW9uRGF0ZSAoRDoyMDIyMDEwNjE0MDg1OCswOScwMCcpCi9Qcm9kdWNlciAoaUxvdmVQREYpCi9Nb2REYXRlIChEOjIwMjIwMTA2MDUwOTA5WikKPj4KZW5kb2JqCjYgMCBvYmoKPDwKL1NpemUgNwovUm9vdCAxIDAgUgovSW5mbyAzIDAgUgovSUQgWzwyODhCM0VENTAyOEU0MDcyNERBNzNCOUE0Nzk4OUEwQT4gPEY1RkJGNjg4NkVERDZBQUNBNDRCNEZDRjBBRDUxRDlDPl0KL1R5cGUgL1hSZWYKL1cgWzEgMiAyXQovRmlsdGVyIC9GbGF0ZURlY29kZQovSW5kZXggWzAgN10KL0xlbmd0aCAzNgo+PgpzdHJlYW0KeJxjYGD4/5+RUZmBgZHhFZBgDAGxakAEP5BgEmFgAABlRwQJCmVuZHN0cmVhbQplbmRvYmoKc3RhcnR4cmVmCjUzMgolJUVPRgo=",
  "schemas": [
    [
      {
        "name": "title",
        "type": "text",
        "position": {
          "x": 15,
          "y": 30
        },
        "width": 180,
        "height": 30,
        "fontSize": 26,
        "alignment": "center",
        "fontColor": "#111827"
      },
      {
        "name": "subtitle",
        "type": "text",
        "position": {
          "x": 15,
          "y": 68
        },
        "width": 180,
        "height": 20,
        "fontSize": 16,
        "alignment": "center",
        "fontColor": "#4b5563"
      },
      {
        "name": "section_heading",
        "type": "text",
        "position": {
          "x": 15,
          "y": 110
        },
        "width": 180,
        "height": 18,
        "fontSize": 18,
        "fontColor": "#111827"
      },
      {
        "name": "section_body",
        "type": "text",
        "position": {
          "x": 15,
          "y": 132
        },
        "width": 180,
        "height": 120,
        "fontSize": 12,
        "lineHeight": 1.4,
        "fontColor": "#1f2937"
      },
      {
        "name": "cta",
        "type": "text",
        "position": {
          "x": 15,
          "y": 262
        },
        "width": 180,
        "height": 18,
        "alignment": "center",
        "fontSize": 14,
        "fontColor": "#2563eb"
      }
    ]
  ]
}

Generate PDF

Everything runs in the browser. No uploads, no limits. Perfect for embedding as a free tool on your site.

Extend it further

  • Want images or QR codes? Install @pdfme/schemas plugins and pass them into the designer & generator just like in the docs.
  • Save templates to your database by storing the JSON above, then hydrate the designer with it on load.
  • Wrap the generator call inside your own UI to accept user data, then trigger downloads programmatically.