URL to PNG

URL to PNG

HTTP service that generates PNG screenshots from URLs using Playwright

235stars
35forks
Last commit: 4mo ago
Repo age: 8y old
URL to PNG screenshot

URL to PNG is a self-hosted HTTP service that captures web pages and returns PNG images. It exposes a simple query-parameter API and uses Playwright for parallel, configurable headless rendering.

Key Features

  • HTTP endpoint that accepts query parameters (url, width, height, viewport size, isMobile, isFullPage, isDarkMode, deviceScaleFactor, forceReload) to customize screenshots
  • Playwright-based parallel rendering with configurable Playwright options for Chromium browsers
  • Support for full-page captures, mobile user agent emulation, dark-mode preference, and device scale factor (DPR)
  • Caching of generated images with option to force reload and configurable TTL
  • Storage integration options: local filesystem plus adapters for Amazon S3 and CouchDB
  • Allow-list support to restrict which domains may be captured
  • Optional encrypted request payloads using a server CRYPTO_KEY for added request privacy
  • Prometheus-compatible metrics endpoint for monitoring rendering activity and performance
  • Distributed-friendly build: Docker image available and local development via pnpm and Playwright browser installation

Use Cases

  • Embed dynamic website screenshots in HTML or newsletters by targeting the service endpoint
  • Generate social preview or thumbnail images for URLs programmatically
  • Automated visual checks, status dashboards, or scheduled snapshots for monitoring website appearance

Limitations and Considerations

  • Rendering uses headless browsers and can be CPU/memory intensive under high concurrency; capacity planning is required
  • Some sites may block headless browsers or use anti-bot measures that prevent accurate captures
  • Requires Playwright browser binaries to be installed for local runs and proper configuration of storage backends (S3/CouchDB) when used

URL to PNG is focused on simple, configurable screenshot generation for self-hosted environments. It is suitable for embedding into workflows, CI, or internal tooling where control over rendering and storage is required.

Categories:

Tags:

Tech Stack:

Share:

Similar Services

Hoppscotch Community Edition

Hoppscotch Community Edition

Open-source API client for REST, GraphQL, WebSocket and more

77.6k
5.5k
Last commit: 11d ago

Hoppscotch Community Edition is an open-source API development and testing tool for REST, GraphQL, WebSocket, SSE, MQTT, and Socket.IO with collections and environments.

Alternative to:
Postman
Postman
+9
Kong Gateway

Kong Gateway

Cloud-native API and LLM gateway with extensible plugins

42.5k
5k
Last commit: 2mo ago

Kong Gateway is a high-performance, cloud-native API gateway for routing, securing, and observing API traffic, with an extensible plugin system and Kubernetes support.

Alternative to:
Amazon API Gateway
Amazon API Gateway
+7
Apprise

Apprise

Unified notifications library for 120+ services via a single API.

15.5k
554
Last commit: 4d ago

A Python-based notification library and CLI that routes messages to 120+ services via URL-based configurations, enabling self-hosted cross-platform alerts.

Alternative to:
Twilio
Twilio
+4
Maxun

Maxun

Open source no-code web scraping and data extraction robots

14.2k
1.1k
Last commit: 5d ago

Maxun is an open source no-code platform to build web scraping robots that extract structured data and expose websites as APIs, markdown, or automated pipelines.

Alternative to:
Apify
Apify
+1
LibreTranslate

LibreTranslate

Self-hosted machine translation API powered by open-source models

13.5k
1.4k
Last commit: 25d ago

LibreTranslate is a free, open-source machine translation API you can run on your own infrastructure, with offline-capable translations and a simple HTTP API.

Alternative to:
Google Translate
Google Translate
FlareSolverr

FlareSolverr

API proxy that solves Cloudflare challenges using a headless browser

12.2k
991
Last commit: 4d ago

FlareSolverr is a proxy server with a REST API that uses a headless Chrome session to solve Cloudflare/DDoS-GUARD challenges and return HTML and cookies.

Alternative to:
Browserless
Browserless
+7