GeneratePDFsthatlooklikeprint.
Stop wrestling with Puppeteer crashes or pdfkit coordinates. One API call. Print-quality results.
import { NeatPdf } from "@neat-pdf/sdk";
const client = new NeatPdf({
apiKey: "YOUR_API_KEY",
});
const response = await client.htmlToPdf({
body: {
html: "<h1>Medical report #1234</h1>",
},
});
const pdfBlob = response.data;The real cost of DIY.
Open-source libraries are free. Maintaining them in production is not.
INFRA
Browser Management
The Problem
Memory pressure
Headless browsers consume 200-500MB per instance. Under load, your server runs out of memory and crashes.
Zombie processes
Browser instances don't always close cleanly. Orphaned processes accumulate until you restart the server.
Serverless limits
Chromium is 200MB+. Lambda has a 250MB limit. Vercel times out at 10s. The math doesn't work.
One API call. We manage the browsers at scale. You ship features.
Why developers choose NeatPDF
We handle the tedious work so you can focus on what matters.
Developer Experience
Typed SDK & LLM-Native ✨
LLMs speak HTML fluently. PDFs? That's our job. Full TypeScript support with IntelliSense. No parsing, no glue code.
View SDK Docs// Your LLM generates HTML
const html = await generateInvoice(order);
// We turn it into a PDF
const pdf = await neatpdf.htmlToPdf({ html });Infrastructure
Zero Infrastructure Tax
No Puppeteer clusters to manage. We handle concurrent renders, memory, and timeouts. You just call the API.
Privacy
Zero Retention
We're a pipe, not a bucket. Your HTML goes in, your PDF comes out. Nothing stored. Nothing logged. GDPR compliant by architecture.
Testing
API Sandbox
Test every endpoint in your browser before writing code. Ship to production when you're ready.
Try the SandboxTest Before You Code
Every endpoint, right in your browser. See exactly what you'll get before writing a single line.
<h1>Medical Invoice</h1> <div class="patient-info"> <p><strong>Patient:</strong> John Doe</p> <p><strong>Date:</strong> 2024-01-15</p> </div> <table class="invoice-table"> <thead> <tr> <th>Description</th> <th>Qty</th> <th>Price</th> </tr> </thead> <tbody> <tr> <td>Consultation</td> <td>1</td> <td>$150.00</td> </tr> </tbody> </table>
Click Convert to see the result
Ephemeral by Design
Your data never touches disk. Processed in memory, streamed to you, immediately discarded.
Pay for what you use
FREE
- 3 documents per minute
- 2MB max file size
- 15s timeout
- Community support
- Full API Sandbox access
HOBBY
- 10 documents per minute
- 5MB max file size
- 20s timeout
- Community support
- Full API Sandbox access
PRO
- Unlimited team members
- Unlimited projects
- 60 documents per minute
- 20MB max file size
- 30s timeout
- Priority support
- Full API Sandbox access
BUSINESS
- Unlimited team members
- Unlimited projects
- 200 documents per minute
- 100MB max file size
- 60s timeout
- Priority support
- SLA guarantees
- Full API Sandbox access
Your first PDF is free
No credit card required. Test every endpoint in the Sandbox before you write a single line of code.
Get Your API KeyQuestions? [email protected]
Free tier • No credit card • Instant access