DriversRecommendedOutdated drivers can make a good PC feel brokenScan driver issues before chasing fixes manually.Scan NowOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsSlow PC?RecommendedPC slow today? Run a repair scan before it gets worseResolve common Windows issues and optimize system performance.Scan Now×
Skip to content
World desk7 min

Best PHP Packages for Converting a URL to an Image

Compare three PHP routes to webpage screenshots: Browsershot's fluent Puppeteer interface, direct Chrome control with chrome-php/chrome, and Laravel Screenshot's drivers.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

For a PHP app that needs to turn a live URL into an image, start with Spatie Browsershot if you can deploy Node.js, Puppeteer and headless Chrome alongside PHP. Choose chrome-php/chrome when you want to control Chrome more directly from PHP. For Laravel 12+ on PHP 8.4+, Spatie Laravel Screenshot provides a Laravel-specific driver interface. If you do not want to manage browser infrastructure, ScreenshotNeo is a hosted alternative.

All three PHP options ultimately depend on a browser to render a page. The practical choice is therefore about PHP and framework compatibility, the browser runtime you can operate, and the capture controls your use case needs—not a proven speed or image-quality ranking. The compatibility facts below reflect package documentation and registry information checked on October 3, 2026; recheck them against the versions you plan to install.

Which PHP URL-to-image package should you choose?

Option Documented requirements or runtime Choose it when
Spatie Browsershot Packagist listed v5.4.0, published May 26, 2026, with PHP ^8.2. Uses Puppeteer and headless Chrome. You want a concise fluent interface for URL-to-image or PDF work and can deploy the browser stack.
chrome-php/chrome Project lists PHP 7.4–8.5 and Chrome/Chromium 65+ installed. You want direct PHP-level control of Chrome or Chromium, including documented clip and full-page capture options.
Spatie Laravel Screenshot Current requirements page lists PHP 8.4+ and Laravel 12+. Its Browsershot driver needs Node.js and Chrome/Chromium; its Cloudflare driver uses Browser Rendering. Your app is on a compatible Laravel/PHP version and you want a Laravel-oriented driver interface.

These are compatibility and feature comparisons, not benchmark results. The reviewed documentation does not establish which package is faster, more reliable, or more visually accurate.

Spatie Browsershot: the concise URL-to-image workflow

Browsershot is the most straightforward starting point when your deployment can support its browser runtime. Its PHP API delegates rendering to Puppeteer, which controls headless Google Chrome. The package documentation describes converting webpages to images or PDFs, and also supports passing arbitrary HTML, retrieving body HTML after JavaScript executes, and reporting requests triggered by a page.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
Elebase USB to USB C Adapter for iPhone 18 Pro Max,USBC Car Charger Adapter
  • Read Before You Buy — No Video Output: These adapters support charging and USB 2.0 data transfer, but cannot transmit video signals. Except for standard USB webcams (which use USB data only), they are not compatible with HDMI/DisplayPort cables, video-capable USB-C hubs, or docking stations with video output.
  • Convert USB-A Ports to USB-C: Designed to connect USB-C earphones, cables, flash drives, card readers, and other USB-C accessories to standard USB-A ports. Plug-and-play with no drivers or software required.
  • Aluminum Alloy Housing: Built with a sturdy aluminum alloy shell that aids in heat dissipation and protects against daily wear and scratches. Designed to maintain a stable and secure connection.
  • Compact & Travel-Friendly: The ultra-compact design allows the adapter to stay plugged into your device without blocking adjacent ports or adding bulk, reducing wear and tear on your original USB ports.
  • 12-Month Warranty: Backed by a 12-month manufacturer warranty for peace of mind. Designed to meet strict quality control standards for reliable everyday performance.

Basic usage

Install the package with Composer, set up the required browser environment as described in the package documentation, then save a URL capture:

composer require spatie/browsershot
<?php

use SpatieBrowsershotBrowsershot;

Browsershot::url('https://example.com')
    ->save('/absolute/path/to/page.png');

The path must be writable by the PHP process. Browsershot’s README notes that Puppeteer is needed for the package’s test suite; rendering itself uses Puppeteer and headless Chrome, so configure the runtime and executable paths for your deployment rather than assuming a PHP-only installation is sufficient.

Relevant capture controls

The image documentation describes PNG as the default, full-page capture, device scale settings, mobile/device emulation, waiting for page state or selectors, and injecting JavaScript or CSS. Optional image manipulation uses spatie/image v3 or higher. Confirm the exact method names and availability in the release you install.

Rank #2
Anker USB-C Hub, 5-in-1 USB Hub for Laptops, 4K HDMI Multiport Adapter
  • 5-in-1 USB-C Hub: Experience comprehensive connectivity featuring a Power Delivery input, two USB-A 2.0 ports, a USB-A 3.0 port, and an HDMI port. (Note: The USB-C power delivery input port is only for connecting an external wall charger to power your laptop and cannot power peripheral devices.)
  • 90W Pass-Through Charging: Achieve optimal charging with 90W pass-through power to your laptop, supported by a total input of 100W, with the hub reserving 10W for operational efficiency. (Note: Wall charger not included.)
  • Quick Data Transfers: Accelerate your productivity with rapid data transfers using a high-speed 5Gbps USB 3.0 port and two 480Mbps USB 2.0 ports.
  • 4K HDMI Display: Enhance your visual experience with a hub capable of delivering 4K resolution at 30Hz in both mirror and extend modes. Please note that this hub is compatible with MacBook (macOS 12 and newer), Windows 10 and 11, ChromeOS, and laptops equipped with DP Alt Mode and Power Delivery. Note: This device is not compatible with Linux.
  • What You Get: Anker USB-C Hub (5-in-1, 4K HDMI), welcome guide, 18-month warranty, and our friendly customer service.

chrome-php/chrome: direct control of Chrome from PHP

This library exposes browser and page lifecycle operations from PHP rather than wrapping a Puppeteer workflow. Its repository documents PHP 7.4–8.5 and an installed Chrome/Chromium executable version 65 or later. It says the library is tested on Linux and compatible with macOS and Windows; that does not guarantee every deployment-specific browser configuration will work unchanged.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Install and capture a URL

composer require chrome-php/chrome
<?php

require 'vendor/autoload.php';

use HeadlessChromiumBrowserFactory;

$browserFactory = new BrowserFactory();
$browser = $browserFactory->createBrowser();

try {
    $page = $browser->createPage();
    $page->navigate('https://example.com')->waitForNavigation();
    $page->screenshot()->saveToFile('/absolute/path/to/page.png');
} finally {
    $browser->close();
}

Use the documented browser-factory configuration when Chrome is not on the default executable path or the runtime needs particular launch settings. Keep browser cleanup in a finally block so exceptions during navigation or saving do not leave the browser process running.

Documented output and page controls

The project documents PNG, JPEG and WebP output; JPEG/WebP quality settings; clipping to a selected page area; and full-page capture using captureBeyondViewport with a full-page clip. It also exposes JavaScript evaluation, mouse and keyboard emulation, and PDF output. Consult the project examples for the exact option structure supported by your installed version.

Rank #3
Sale
Anker USB C Hub, 7in1 Multi-Port USB Adapter, 4K@60Hz USBC to HDMI Splitter
  • Sleek 7-in-1 USB-C Hub: Features an HDMI port, two USB-A 3.0 ports, and a USB-C data port, each providing 5Gbps transfer speeds. It also includes a USB-C PD input port for charging up to 100W and dual SD and TF card slots, all in a compact design.
  • Flawless 4K@60Hz Video with HDMI: Delivers exceptional clarity and smoothness with its 4K@60Hz HDMI port, making it ideal for high-definition presentations and entertainment. (Note: Only the HDMI port supports video projection; the USB-C port is for data transfer only.)
  • Double Up on Efficiency: The two USB-A 3.0 ports and a USB-C port support a fast 5Gbps data rate, significantly boosting your transfer speeds and improving productivity.
  • Fast and Reliable 85W Charging: Offers high-capacity, speedy charging for laptops up to 85W, so you spend less time tethered to an outlet and more time being productive.
  • What You Get: Anker USB-C Hub (7-in-1), welcome guide, 18-month warranty, and our friendly customer service.

Spatie Laravel Screenshot: a Laravel-specific driver interface

For a Laravel project, this package adds a driver-based interface and documents two back ends: Browsershot and Cloudflare Browser Rendering. The current requirements page lists PHP 8.4+ and Laravel 12+. Its local Browsershot driver requires Node.js and a Chrome/Chromium binary; the Cloudflare option uses the provider’s Browser Rendering API. Check the package’s installation and driver configuration guide before adopting it.

A hosted browser can shift local browser operations to a provider, but evaluate the provider’s current cost, data handling, availability and operational terms independently. The package documentation establishes that the driver exists; it does not establish those terms.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

How to decide between the packages

Check PHP and framework compatibility first

Match the version constraints to your actual runtime and framework, then verify them again against the specific release you will install. The Browsershot figure is the Packagist constraint for v5.4.0 at the date noted above; Laravel Screenshot’s requirements are for its current documentation; the chrome-php/chrome range is the project’s listed support range.

Rank #4
Sale
UGREEN USB to USB C Adapter Combo 4-Pack, 10Gbps USB C Converter Space Gray
  • Dual Converters, Infinite Potential:Includes 2× USB C male to USB A female adapters and 2× USB A male to USB C female adapters. Perfect for a wide range of uses—tablets with Bluetooth keyboards, expand USB ports on macbook, and more. Two different converters for all your daily needs
  • Next-Level 10Gbps & 3A Charging: No more slow 480Mbps, this usb to usb c adapter has a transfer speed of up to 10Gbps, allowing you to do more transferring in less time. This usb adapter fits both USB A and USB C charger, supporting up to 3A fast charging
  • Upgraded Exquisite Craftsmanship: With an aluminum alloy housing and metal connector, the usbc to usb adapter is extremely durable and sturdy. Rigorously tested to withstand more than 10,000 times of plugging and unplugging, ensuring long-lasting performance
  • Broad Compatible: The usb c to usb adapter widely supports all USB C/ USB A devices like laptops, tablets, cellphones, car chargers, and phone chargers. Such as compatible with MacBook Pro/Air 2023/2022, Thunderbolt 4/3 Devices,Apple MagSafe Watch 9/8/7/SE/Ultra, iPad Pro 2022/2021, Samsung Galaxy S23/S20/S10, and iPhone 17/16/15 Pro. Plug and play
  • Please Note: To reach 10Gbps speed, keep the cable under 3.3 ft. For USB A Male to USB C adapters, try flipping the USB C connector. USB C Male to USB A adapters support bidirectional 10Gbps transfer within 3.3 ft

Choose who operates the browser

  • Browsershot: your environment must support Puppeteer and headless Chrome.
  • chrome-php/chrome: your environment must provide a compatible Chrome/Chromium executable.
  • Laravel Screenshot: choose between its local Browsershot driver and hosted Cloudflare Browser Rendering driver.

Match controls and integration style to the task

  • Browsershot documents full-page capture, sizing, device emulation, waits, CSS/JavaScript injection and optional image manipulation.
  • chrome-php/chrome documents output formats, quality, clipping and full-page capture, alongside browser interaction APIs.
  • Browsershot uses a compact fluent interface; chrome-php/chrome exposes browser/page operations; Laravel Screenshot adds a Laravel-oriented driver abstraction. These describe documented API styles, not measured productivity differences.

Operational notes: performance, reliability and cost

Every local option adds browser runtime management to a PHP application. You need to provision the executable and its dependencies, make sure the PHP process can launch it and write the output, and account for browser process cleanup. Browsershot additionally involves Puppeteer and Node.js in the rendering setup; Laravel Screenshot’s documented local driver also requires Node.js. A hosted driver changes where rendering runs but adds an external provider to evaluate.

The documentation reviewed does not provide comparable performance, reliability, fidelity or package-cost benchmarks. Rendering time and success depend on the target page and deployment environment, so do not infer a winner from feature lists. Before choosing for a production workload, test representative pages—including JavaScript-heavy pages, long pages and pages with slow resources—under the same environment and capture settings you intend to use.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Troubleshooting common setup and capture problems

  • Chrome or Chromium cannot be launched: confirm the executable is installed, its path is available to the PHP process, and it meets the package’s stated version requirements. Check that the runtime user can execute it.
  • Browsershot does not render although PHP code runs: verify the Puppeteer and headless Chrome setup described by the installed Browsershot release. Check the Node.js and browser paths in the deployment environment.
  • Capture is blank or incomplete: navigation completion does not always mean a site’s asynchronous content has finished rendering. Use the package’s documented wait or selector options where available, and test against the page’s actual readiness condition.
  • Images or content below the fold are missing: enable full-page capture when the package and use case support it. For lazy-loaded assets, allow the page to load them before capture; the package documentation should be checked for exact behavior and options.
  • Output cannot be saved: use a valid destination and verify that the PHP process has write permission to the target directory.
  • Browser processes accumulate: ensure your code closes browser instances even when navigation, capture or file writing throws an exception.
  • Options shown in an example are rejected: check the documentation for your installed package version. Methods and compatibility can change between releases.

Or skip the browser setup

If you want a URL-to-image result without installing and maintaining Chrome or Chromium in your PHP environment, ScreenshotNeo is a hosted screenshot API and MCP server. A GET request returns an image or PDF; cookie/consent banners, newsletter popups and chat widgets are removed before capture, and each can be disabled. Bot checks/CAPTCHAs, blank pages, timeouts, failed loads and cache hits are not billed, with response headers identifying the page verdict and billing status. Its MCP server offers take_screenshot, get_page_info and capture_pdf tools for AI agents and MCP clients.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Example cURL request (replace the URL and API key):

Best Value
Anker USB C Hub, 5-in-1 USBC to HDMI Splitter with 4K Display
  • 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
  • Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
  • Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
  • HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
  • What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://example.com -o shot.webp

See the ScreenshotNeo API documentation for request options. Plans include 1,000 shots per month free with no card; paid plans start at $5 for 3,000. Sign up for 1,000 free screenshots a month—no card required.

Frequently Asked Questions

Can these packages capture a URL that requires JavaScript?

Yes. They use or control Chrome/Chromium, which can render JavaScript-driven pages. The page must still finish the relevant asynchronous work before the capture occurs; use documented wait controls where needed.

Is one of the PHP packages proven to be the fastest?

No comparative speed benchmark was established in the reviewed documentation. Test your target pages on the deployment setup you intend to use.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Do I need Node.js for every option?

No. Browsershot uses Puppeteer, and Laravel Screenshot’s Browsershot driver specifies Node.js. chrome-php/chrome documents direct use of an installed Chrome/Chromium executable.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. Shenzhen desk3 min
    HONOR Expands Beyond Smartphones With Humanoid Robot RevealHONOR said it unveiled its first humanoid robot at MWC 2026 and named shopping assistance, workplace inspections, and supportive companionship as intended uses. Later Robotics D1 claims and a reported…
  2. Cupertino desk5 min
    Apple Unveils AirPods Max 2: The Upgrade That Should Have Happened Years AgoAirPods Max 2 adds H2-powered audio features and Apple claims up to 1.5× more effective ANC, but its design, Smart Case, and 20-hour battery rating are unchanged. Wired lossless audio…
  3. Cupertino desk4 min
    Apple’s OLED Touch MacBooks Are Coming—but the Dynamic Island Is the Real GambleApple has not announced an OLED touchscreen MacBook, but reports point to high-end models arriving in late 2026 or early 2027. The reported Mac Dynamic Island could be useful, but…
Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Crashes, No Sound, or Screen Glitches?Free driver scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.