Recommended Free Tools
Use Playwright’s Chromium browser, navigate a page to the target URL, then call page.pdf(). It renders with print CSS by default and returns a PDF buffer; pass a path to save the file directly. Set print options such as paper size, margins, and background graphics to match the document you need.
Convert a webpage to PDF with Playwright
Install Playwright in your TypeScript project, then launch Chromium, create a page, navigate, generate the PDF, and close the browser. This example combines the documented Page creation, navigation, and PDF APIs; it is an illustrative synthesis, not a claim of a tested program. See the Playwright Pages guide and Page API reference.
import { chromium } from 'playwright';
const browser = await chromium.launch();
try {
const page = await browser.newPage();
await page.goto('https://example.com');
await page.pdf({ path: 'page.pdf', format: 'A4' });
} finally {
await browser.close();
}
Run this in a TypeScript environment configured for ES modules and top-level await, or place it inside an async function. The PDF is written to page.pdf in the process’s current working directory. Add a navigation timeout or a suitable waitUntil condition to page.goto() if the site needs more time or specific load behavior before capture.
Choose print or screen styling
page.pdf() generates a PDF using print CSS media by default. That means print-specific CSS rules can change what appears compared with the page in a normal browser tab. If you want the screen presentation, switch media before creating the PDF:
#1 Best Overall
- 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.
await page.emulateMedia({ media: 'screen' });
await page.pdf({ path: 'page.pdf', format: 'A4' });
For a print-oriented document, leave the default media setting in place. For a screen-style capture, emulate screen media before calling page.pdf(). The official API documentation describes the default and the media override: Page | Playwright.
Set page size, margins, and orientation
Use format for a named paper size such as A4 or Letter. If format is supplied, it takes precedence over width and height. If you need custom dimensions, omit format and provide width and height instead.
Rank #2
- 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.
await page.pdf({
path: 'report.pdf',
format: 'Letter',
landscape: true,
margin: {
top: '15mm',
right: '12mm',
bottom: '15mm',
left: '12mm'
}
});
PDF dimensions and margins accept CSS-style units including px, in, cm, and mm; an unlabelled numeric value is interpreted as pixels. If the page’s CSS @page rule should determine paper size instead of the API dimensions or format, set preferCSSPageSize: true.
Include background graphics and control color output
The printBackground option defaults to false. Set it to true when the PDF should include CSS background colors and images:
Rank #3
- 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.
await page.pdf({
path: 'page.pdf',
format: 'A4',
printBackground: true
});
Including backgrounds and preserving exact CSS colors are separate settings. Playwright notes that PDF colors are modified for printing by default and points to the CSS property -webkit-print-color-adjust for exact color rendering. Add that property in the page’s print styles when color fidelity is important; enabling printBackground alone does not promise unchanged colors.
Use PDF options for pagination and downstream handling
- Scale: adjust the rendered content with
scale; the documented range is 0.1 to 2. - Page ranges: use
pageRangeswhen only selected pages are needed. - Headers and footers: use the header and footer template options for printed page details. Scripts are not evaluated in these templates, and page styles are not visible inside them.
- Accessibility and navigation: the API includes options to embed a document outline or create a tagged PDF.
- Buffer output:
page.pdf()returns a PDF buffer. Omitpathwhen your application needs to send the bytes elsewhere, store them, or process them in memory.
Use only the options that serve the output you need: paper geometry and margins affect pagination, while backgrounds and media emulation affect appearance. The Page API reference lists the available PDF options and their current details.
Rank #4
- 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
Troubleshoot common PDF problems
- The PDF looks different from the browser tab: PDF generation uses print media by default. Call
page.emulateMedia({ media: 'screen' })beforepage.pdf()if you need screen styles. - Backgrounds are missing: set
printBackground: true. For exact CSS colors, also account for print color adjustment in the page’s CSS. - The paper dimensions do not match the CSS: check whether
formatis overridingwidthandheight. If CSS@pageshould control size, enablepreferCSSPageSize. - Header or footer styling or script output is absent: header/footer templates cannot see page styles, and scripts in the templates are not evaluated. Put required values directly in the template and style it there.
- The destination file is missing: confirm that
pathis relative to the process’s current working directory or provide an appropriate absolute path. Without a path, handle the returned buffer instead of expecting a file to be written. - Navigation fails or the page is incomplete: verify the URL is reachable from the machine running Playwright and wait for the page state or content your capture requires before calling
page.pdf().
Or skip the browser setup
If you need a screenshot or PDF from an API rather than a local Playwright browser, ScreenshotNeo can return PNG, JPEG, WebP, or PDF from one GET request. Its cleanup steps accept cookie or consent banners like a visitor and remove 60+ known consent platforms, newsletter popups, and chat widgets; each step can be turned off. Bot checks, blank pages, timeouts, failed loads, and cache hits cost nothing, and response headers identify the page verdict and billing status. It also provides an MCP server with screenshot, page-info, and PDF tools for AI agents.
For PDF output, request the PDF format at the API endpoint. See the ScreenshotNeo API documentation for current request options and output details.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -d format=pdf -o page.pdf
The free plan includes 1,000 shots per month with no card; paid plans start at $5 for 3,000 shots. Every feature is on every plan. Sign up for 1,000 free screenshots a month, with no card.
Best Value
- 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.
Further reading
For the page and navigation concepts used here, see the official Playwright Pages guide. For PDF arguments and behavior, refer to the Page API reference. Playwright’s separate MCP PDF Export documentation explicitly limits that MCP tool’s PDF generation to Chromium; that statement is scoped to the MCP tool and is not a complete browser-support statement for every Playwright page.pdf() API.
Frequently Asked Questions
Can I get the PDF without saving it to disk?
Yes. Omit path and use the PDF buffer returned by page.pdf() in your application.
Does Playwright’s PDF Export MCP tool support Firefox or WebKit?
The Playwright MCP PDF Export documentation says PDF generation for that MCP tool is Chromium-only. That documentation does not establish a complete browser-support matrix for every page.pdf() API.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Repair Windows errors before they cause bigger problems3Fix the driver behind crashes, sound loss and screen glitchesQuick Recap
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.

