One design for every document.
From intake to delivery.
Design your templates once and generate pixel-perfect PDFs, images, and signed documents from forms, API requests, or live web pages.
Free account, no credit card
From template to document
in three steps
Design your template
Place text, images, shapes, and data fields on the canvas, then adjust the layout and styling without writing code.
Connect your data
Map each data field to the right element. Names, dates, and amounts update in the preview.
Generate at scale
Generate documents on demand, or connect tools like Zapier and our REST API to automate the workflow.
Design your template
Start with your own HTML and CSS, or clone a gallery template and change it. The same browser-based renderer handles the layout, fonts, and framework you already use.
<link rel="stylesheet" href="https://cdn.tailwindcss.com">
<div class="p-8 max-w-lg mx-auto">
<h1 class="text-2xl font-bold">
Invoice #{{ invoiceNumber }}
</h1>
<p>{{ customerName }}</p>
</div>Make an API call
Send HTML or a template ID with the values for this document. Use the REST API, an official SDK, or a Zapier step without changing the template.
POST https://api.cloudlayer.io/v2/generate/pdf
{
"html": "<h1>Invoice...</h1>",
"options": {
"format": "A4"
}
}Get your document
Receive the finished PDF or image in the request, or use a webhook for asynchronous work. Each finished document counts as one render.
{
"url": "https://cdn.cloudlayer.io/...",
"status": "success",
"duration": 1.2
}Design templates visually.
Keep the code.
Update layouts visually without waiting on developer queues. Arrange elements directly on the canvas, preview real data, or open the underlying HTML and CSS whenever you need code-level precision.
Drag & Drop
Place text, images, and shapes anywhere on the canvas
Smart Snapping
Precise alignment with snap guides and distance indicators
Live Preview
See exactly how your PDF or image will look as you design
Use the design again
with one API call
Save your template once, then pass dynamic data to its template ID. Generate finished documents via REST API, SDKs, or no-code automations without hardcoding markup in your application.
POST /v2/template/pdf
{
"templateId": "invoice-v2",
"data": {
"company": "Acme Corp",
"address": "123 Main St, Suite 400",
"invoiceNumber": 1042,
"date": "Mar 8, 2026",
"customerName": "Globex Inc.",
"items": [
{
"name": "API Integration",
"qty": 1,
"price": 2400
}, // ... 2 more
],
"total": "$4,800.00"
}
}| Item | Qty | Price |
|---|---|---|
| API Integration | 1 | $2,400 |
| Template Design | 3 | $1,800 |
| Support Plan | 1 | $600 |
Keep the layout.
Change the data.
Stop rebuilding layouts for every customer or document. Choose a gallery template or create your own custom design, then populate it with unique data rows on every render.
Pre-built Templates
Browse ready-made layouts for invoices, certificates, social posts, podcast covers, charts, and more. Clone one, change the design, and connect it to your own data.
Custom Templates
Build a template with HTML, CSS, and Nunjucks. Format dates and numbers for the reader's locale, use conditions and loops, and fill the changing content from JSON.
How templates work
<h1>Invoice for {{ company }}</h1>
<table>
{% for item in items %}
<tr>
<td>{{ item.name }}</td>
<td>{{ item.price | currency }}</td>
</tr>
{% endfor %}
</table>
<p>Total: {{ total | currency }}</p>Start with a description,
not a blank page
Describe the document you need in plain language. AI drafts an editable HTML and CSS template you can refine in the visual designer, adjust in code, or iterate on via chat.
Prompt to template
Describe an invoice, report, or certificate and receive a working template you can inspect.
Iterate via chat
Ask for changes to the layout, colors, or content structure in plain language.
Works with AI tools
Use the MCP server to connect Claude, Cursor, and other compatible AI clients to your account.
Keep the browser layout
you already built
Translating web pages into proprietary PDF drawing libraries creates redundant maintenance work. cloudlayer.io renders with headless Chrome, keeping your HTML, CSS, JavaScript, web fonts, Flexbox, and CSS Grid rendering exactly as expected.
CSS Frameworks
Keep Bootstrap, Tailwind, or the CSS framework already used by the page instead of translating the layout into a document-specific format.
Full JavaScript
Run JavaScript before capture, including pages built with jQuery, React, Angular, or Vue, so dynamic content can finish loading first.
Custom Fonts
Load Google Fonts, Adobe Fonts, or another external font source so the generated document keeps the intended typography.
External Images
Load SVG, PNG, WebP, AVIF, and other browser-supported images from a URL or embed them directly in the HTML.
Base64 Embedded
Use base64 data URIs when the document needs to carry its images in the HTML instead of fetching them from another host.
One template,
whichever way you work
Design visually or work directly in HTML, then use the same rendering path for every input and output.
Code It or Design It
Edit the template as HTML and CSS or work in the visual designer. Both views change the same artifact, so designers can handle layout updates without creating a second version for developers to maintain.
REST API and SDKs
Call the REST API from any language, or use 1 of 8 official SDKs. Send HTML, a URL, or a saved template and receive the finished document.
Data-driven Templates
Mark the values that change, then reuse one layout across customers, orders, or submissions. Each finished document counts as one render, regardless of what triggered it.
Storage Controls
Store generated documents automatically, disable storage per request when privacy requires it, and keep sensitive request parameters redacted from logs.
Asynchronous Results
Submit work without holding the connection open, then receive a webhook when the document succeeds or fails.
Browser Rendering
Headless Chrome renders the HTML, CSS, web fonts, and shadows. Unicode text and right-to-left scripts follow browser behavior instead of a separate document-layout engine.
AI Template Drafts
Describe the document in plain language to create an HTML template, then inspect and refine it in chat or in the visual editor.
Visual Template Editor
Place and style text, images, and shapes in the visual editor without writing code.
Start from the event
your team already tracks
A new submission, row, deal, or payment can fill the same template without moving data by hand.
Zapier
Use Zapier to start a document when a form is submitted, a CRM record changes, or a spreadsheet gains a row. The workflow passes the event data into the template without custom integration code.
Zapier setup- New form submission
- New spreadsheet row
- Deal marked won
- Payment received
- Record created or updated
- Scheduled time
Integrately
Start with a pre-built Integrately workflow, then map the event from a connected app into the document template.
Integrately automationsREST API
Choose synchronous or asynchronous generation with API-key authentication and webhooks. Batch work queues and runs within the concurrency included in the plan.
API ReferenceSDKs
Official SDKs for .NET, F#, Go, Java, JavaScript, PHP, Python, and Ruby handle authentication, request retries, and typed errors around the same REST API.
View SDKsMCP Server
Connect Claude, Cursor, Windsurf, or VS Code through the remote MCP server to create documents, find templates, and inspect jobs from a compatible AI client.
MCP setupDeliver the file
without another service
Generating the document is only half the workflow if another system still has to distribute it. Stored documents are served through a global CDN with location-based routing to a nearby edge.
Share the resulting URL and the same stored file can serve later requests. The document is rendered once, while the edge network handles subsequent downloads.
Replace the handoffs
between separate tools
Separate form builders, document generators, signing apps, and screenshot APIs force your team to stitch together fragile handoffs. cloudlayer.io unifies your entire document workflow around one visual designer, one API, and one account.
Screenshot or PDF any webpage
Send a URL to get back clean screenshots or PDFs. Capture full scrolling pages, render in high-DPI, send session cookies, or authenticate behind logins.
Turn data into documents
Turn structured JSON or spreadsheet rows into branded invoices, statements, reports, and certificates automatically.
Forms that fill documents
Create interactive intake, consent, or registration forms that turn every submission directly into a signed PDF without manual data entry.
Design without a developer
Build layouts visually with drag-and-drop elements, charts, and barcodes, or switch directly into HTML and CSS for complete code control.
Built for your whole team
Organize templates, assets, and API keys across shared team workspaces with granular permissions and audit logging.
Send documents automatically
Automate document runs on recurring schedules, or trigger them via REST API, webhooks, and Zapier.
Common questions
How do I turn HTML into a PDF?
Send HTML, a URL, or a saved template to the API and receive a rendered PDF. The page runs in headless Chrome, so the output uses the same CSS, web-font, and JavaScript rendering model as a browser.
Do I need to write code to use it?
No. Build the template in the visual editor, then fill it from a hosted form or a Zapier workflow. Developers can use the REST API or 8 official SDKs with that same template.
Can I generate images as well as PDFs?
Yes. Render the same template as PNG, JPEG, or WebP for work such as social images, email headers, and dashboard snapshots.
How many documents can I generate?
Plans start at 1,000 renders a month for $9 and extend to 100,000. Put large runs through asynchronous jobs and use webhooks to receive each result without keeping the original request open.
What counts as one render?
One finished document. A report and a social image each count as one, whether they came from a form, connector, schedule, or direct API call. Page count and file size have separate plan limits alongside the render allowance.
Can I try it without a credit card?
Yes. The free account includes 50 renders and 3 templates, with no card and no expiry. You can build a template and test it with your own data before choosing a paid plan.
What can trigger a document without any code?
732 connectors provide 727 automated actions. A new form submission, spreadsheet row, updated deal, payment, or scheduled time can trigger document generation automatically.
Is a person who fills in a form counted as a user?
No. Anonymous form submitters and people who open a shared document are not billed seats. Seats are for the people who build templates or administer the account, so the audience does not increase the team bill.
How long does it take to get the first document out?
You can start with a gallery template before building an integration. Clone a layout, change its wording and logo, then render it with your own values. Use the 8 SDKs or connectors when you are ready to automate it.
What happens to my templates if I leave?
You can export them as HTML and CSS, open them in another editor, and render them in a browser. Generated files can also be delivered to your own S3 or Google Cloud Storage bucket as they are produced.
Start generating documents
in minutes
Sign up, build something real, and move to a paid plan only when you need more capacity.
No credit card required.
Trusted by teams at