Screenshot. PDF.
Webhook. One key.
Developer utilities that just work. Generate pixel-perfect screenshots, convert HTML to PDF, and inspect webhooks in real time — no infrastructure to manage.
No credit card · 100 free requests / month · Forever
// Capture any page in one call const const res = await devutils.screenshot({ url: "https://stripe.com", fullPage: true, blockAds: true, format: "png", }) fs.writeFileSync("stripe.png", Buffer.from(res))
Trusted by teams at
Features
One API key.
Three superpowers.
Stop stitching together five different services. Screenshot, PDF, and webhooks — built to work together.
Any page. Pixel-perfect. In milliseconds.
Stop wrestling with Puppeteer clusters and headless Chrome maintenance. One API call returns a production-ready screenshot — clean, fast, and infinitely scalable.
Capture the entire scrollable page — every pixel, every lazy-loaded image.
// Full page screenshot — clean output const res = await devutils.screenshot({ url: "https://stripe.com", fullPage: true, // scrolls whole page blockAds: true, // removes ad banners blockCookieBanner: true, // removes GDPR popups format: "png", }) // returns ArrayBuffer, stream, or base64 fs.writeFileSync("stripe.png", Buffer.from(res))
Invoices, reports, certificates — automated.
Convert any URL or raw HTML into a pixel-perfect PDF. Handles custom fonts, page breaks, Tailwind CSS, headers and footers. Under a second, every time.
Any live page → PDF. Fonts, layout, and CSS all preserved.
// Invoice page → shareable PDF const pdf = await devutils.htmlToPdf({ url: "https://app.mysite.com/invoice/1234", format: "A4", margin: { top: "24mm", bottom: "24mm", left: "20mm", right: "20mm" }, printBackground: true, }) fs.writeFileSync("invoice-1234.pdf", pdf)
Debug any integration. Instantly.
Get a temporary endpoint URL in seconds. Fire it from Stripe, GitHub, or any service, and see every header and payload in real time. No more console.log debugging.
Unique endpoint in milliseconds. Point any service at it immediately.
// Create an inspection endpoint const endpoint = await devutils.webhook.create({ name: "stripe-debug", ttl: "24h", // auto-expires }) // endpoint.url → https://wh.devutils.io/abc123 // Paste that into Stripe's webhook settings
What developers say
Built for developers who ship
“We replaced a self-hosted Puppeteer cluster with DevUtils. Took 20 minutes to integrate. Saves us ~4 hours of DevOps every week.”
Arjun Mehta
CTO at Invoiceify
“The webhook inspector alone is worth it. No more deploying a test server just to debug a Stripe event.”
Priya Nair
Indie hacker, ShipFast
“I feed screenshots directly into my AI pipeline to monitor competitor pricing. Sub-second renders, clean output every time.”
Marcus Webb
Founder at PriceWatch
Pricing
Pay for what you use.
Nothing more.
Start free, upgrade when you're ready. No contracts, no hidden fees, cancel any time.
All plans include SSL, 99.9% uptime SLA, and access to every utility. · Need more? Talk to us.