Turn any URL into an image
To turn a URL into an image, paste the address into CurlShot and press the button. CurlShot loads the page in a real browser and returns a screenshot of it as an image file. On this page you download a JPEG; with the API you choose PNG, JPEG or WebP.
No address handy? Try
No account needed to try it. A free account gives you 100 screenshots a month, no card needed.
Create a free accountHow to turn a URL into an image in three steps
- 1
Paste the URL into the box.
- 2
Choose the whole page or just the top, and the screen size.
- 3
Press "Take the screenshot", then download the image.
PNG, JPEG or WebP: which format to ask for
The page is drawn the same way whichever format you choose. Only the file is different: how large it is, whether it can be see-through, and how exact the pixels are.
Show the table (3 rows)
| format | Transparent background | Quality setting | Best for |
|---|---|---|---|
| png (default) | Yes, with omit_background=true | No: every pixel is kept | Text, interfaces, flat colour, logos |
| jpeg | No | image_quality from 1 to 100, default 80 | Photos and long pages, attachments |
| webp | Yes, with omit_background=true | image_quality from 1 to 100, default 80 | Images shown on your own website |
- image_width and image_height resize the result, up to 8,000 px a side. Give one and the other follows the shape of the page; give both and the image is cropped to fill that box, keeping the top of the page.
- response_type=json returns a short JSON answer with a link to the file instead of the file itself.
- The same request with format=pdf returns a document instead of an image.

What people use it for
- Put a screenshot of a website into a document or a slide
- Show a page in a chat or a ticket without sending a link
- Make an image of a page for a blog post or a newsletter
- Generate images of pages automatically from your own code
For developers: one request
The same thing from your own code. It is a plain HTTP request, so it works from any language. Create a free account to get an access key.
curl "https://curlshot.com/api/v1/screenshot?access_key=YOUR_ACCESS_KEY&url=https://example.com&format=webp&image_quality=80" \
--output page.webpQuestions people ask
How do I convert a URL to a PNG or JPG?
Paste the URL into CurlShot and download the screenshot. With the API, add format=png, format=jpeg or format=webp to the request.
Which image format should I pick?
PNG is exact and best for pages with text and flat colour. JPEG and WebP make much smaller files and are the better choice for long pages and photos.
Can I get a smaller image, such as a thumbnail?
Yes. With the API, image_width and image_height resize the result, so you can ask for a 400 pixel wide thumbnail directly.
Is it free?
You can try it on this page without an account. A free account adds a monthly allowance of screenshots and keeps them in one place.
Guides that go deeper
- ComparisonPNG, JPEG, WebP or PDF for website screenshotsA decision flow, a comparison table and our own file-size measurements for choosing PNG, JPEG, WebP or PDF when you save a screenshot of a web page.
- Rosetta stoneWebsite screenshot code examples in 8 languagesThe shortest working code to save a full-page screenshot of a website in curl, Node.js, Python, PHP, Go, Ruby, Java and C#, side by side.
Related tools
- Website thumbnailMake a thumbnail or preview image of any website from its address. For directories, link lists, portfolios and newsletters. Free to try, one request by API.
- Full-page screenshotTake a screenshot of a whole web page, from the top to the very bottom, as one image. Paste the address, nothing to install. Also available as an API.
- HTML to imageRender your own HTML, CSS or Markdown into an image or a PDF with one API request. For social cards, certificates, receipts and reports.
