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.