HTML to Image matches ScreenshotOne on everyday screenshots and raw HTML rendering, and adds 25 named templates on the same API key.
Disclosure: we built HTML to Image. We've kept this comparison honest because the alternative is search results full of low-effort listicles.
| Feature | ScreenshotOne | HTML to Image |
|---|---|---|
| Entry plan price | $17 / 2,000 screenshots | $9 / 1,000 credits |
| Free tier | 100 screenshots per month, no card | 25 images per month, no card |
| Named templates | No | 25 |
| Raw HTML support | Yes | Yes |
| URL screenshots | Yes (specialist) | Yes |
| JavaScript execution | Yes | Yes |
| Webhook delivery | Yes | Yes |
| Custom fonts | Yes (via CSS) | Yes |
| Per-seat charges | Not surfaced | No |
| Best for | high-volume screenshot pipelines needing deep page cleanup | teams who want screenshots plus named templates on one key |
Stay with ScreenshotOne when screenshots of arbitrary third-party pages are the core job and page cleanup matters. Its cookie banner database covers more than 50,000 rules, and features like chat widget hiding, scrolling screenshots, stealth mode and direct-to-S3 uploads have had years of polish. If your pipeline captures thousands of pages you do not control, that depth is what you are paying for.
Switch to HTML to Image when screenshots sit alongside images generated from your own data. A specific scenario: your SaaS captures customer site previews for a dashboard, and the same product also needs OG images on blog publish and invoice renders in the billing flow. The previews go to the Screenshot endpoint, the OG images and invoices go to named templates, and the whole lot sits on one $9-a-month key instead of a screenshot service plus a template service.
Twenty-five named templates on the same key. ScreenshotOne renders raw HTML but ships no pre-built designs, so every invoice, OG image or social card starts from a blank page. With HTML to Image those are a JSON call to a template slug, no markup required.
Lower entry price. Our pricing starts at $9 a month for 1,000 credits versus ScreenshotOne's $17 for 2,000. If your volume sits below 2,000 renders a month, you pay roughly half as much for the capacity you actually use, and the same key unlocks templates that ScreenshotOne does not have at any price.
CDN-hosted URLs by default. Every render returns a JSON envelope with a URL to the finished PNG on our CDN, ready to drop into an email, a meta tag or a database column. ScreenshotOne returns the image binary by default, which is convenient for piping to disk but means you host the result yourself.
Deeper page cleanup for third-party captures. The 50,000-rule cookie banner database, ad blocking, chat widget hiding and dark mode rendering make hands-off captures of arbitrary pages cleaner. HTML to Image handles the common cases via ad blocking and CSS injection, but ScreenshotOne's automated coverage of the long tail is stronger.
Bigger free tier and gentler overage. 100 free screenshots a month versus our 25, and paid plans bill successful renders only with flat per-extra overage instead of a plan upgrade. For bursty workloads that spike past their allowance occasionally, that billing model is easier to live with.
Delivery and infrastructure options. Direct-to-S3 uploads, signed links, response caching, scrolling screenshot videos on the Growth plan and GPU rendering on Scale. If renders need to land in your own bucket or you generate scroll-capture videos, HTML to Image has no equivalent today.
# ScreenshotOne (URL screenshot)
curl "https://api.screenshotone.com/take?url=https://example.com&viewport_width=1280&viewport_height=720&access_key=your-key" # HTML to Image (URL screenshot)
curl -X POST https://app.html2img.com/api/screenshot \
-H 'X-API-Key: your-key-here' \
-H 'Content-Type: application/json' \
-d '{"url":"https://example.com","width":1280,"height":720}'
Three concrete differences. HTML to Image takes a POST with a JSON body instead of a GET with query parameters. Auth uses an X-API-Key header rather than an access_key query parameter, keeping the key out of server and CDN logs. The response is a JSON envelope with a url field pointing to the rendered PNG on our CDN instead of the image binary inline, so there is no file handling on your side unless you want a local copy.
See the URL parameter reference for the full request and response shape, including width, height and full-page options.
The two ladders cross twice. Below 1,000 renders a month HTML to Image is cheaper: $9 versus ScreenshotOne's $17 floor. Between roughly 1,000 and 3,000 renders ScreenshotOne wins, since its $17 Basic covers 2,000 while our 3,000 plan is $25. From 10,000 a month upwards HTML to Image is cheaper again: $60 versus $79 at 10,000, and $225 on our 65,000 plan versus $259 for ScreenshotOne's 50,000 Scale tier. Run both against your real monthly volume, and remember ScreenshotOne's number buys screenshots only while ours also covers templates and raw HTML from the same pool.
The common cases, yes. The Screenshot endpoint handles ad blocking, and the css parameter lets you hide cookie banners, chat widgets or any other element with a CSS rule. ScreenshotOne maintains a rules database of over 50,000 cookie banner selectors, so on messy long-tail pages its automated cleanup goes further than a hand-written CSS override. If banner-free captures across thousands of arbitrary domains are the core job, that database is a real advantage.
It depends on your volume. The entry floor is lower here: $9 for 1,000 credits versus $17 for 2,000 screenshots. At exactly 2,000 renders a month ScreenshotOne is cheaper. From 10,000 a month upwards HTML to Image is cheaper again: $60 versus $79 at 10,000, and $225 versus $259 at 50,000. ScreenshotOne also bills overage per extra render while HTML to Image moves you between plans, so bursty workloads behave differently on each.
Yes. HTML rendering is included on ScreenshotOne's paid plans, so raw HTML support alone is not a reason to switch. The difference is the template layer: HTML to Image ships 25 pre-built named templates you call with JSON, so invoices, OG images and social cards work without writing any markup. ScreenshotOne leaves the design entirely to you.
Not directly. ScreenshotOne can push renders straight into your S3 bucket and generate signed links. HTML to Image returns a JSON envelope with a URL to the rendered PNG on our CDN; if you need the file in your own storage you download it from that URL and store it yourself. If direct-to-S3 delivery is a hard requirement, stay with ScreenshotOne.
The free tier covers 25 renders a month with no credit card. Try the API against your real data before deciding.
The big gap with ScreenshotOne. Twenty-five pre-built designs for invoices, social cards, OG images and more, all from the same API key.