n8n does not convert HTML into a PNG by itself. Its HTML node can build or extract markup, but it does not open that markup in a browser or render JavaScript. To produce an image, add a separate browser renderer: call a rendering API with the HTTP Request node, or run a renderer locally with Execute Command on a self-hosted n8n installation. The API route works with n8n Cloud; the local route requires control of the machine or container that executes your workflow.
What n8n can—and cannot—do
The HTML node provides operations for working with HTML, including creating templates with standard HTML, CSS, expressions and JavaScript markup. In that template operation, n8n generates markup; it does not execute the JavaScript or paint the result as pixels. The node therefore produces an HTML string, not PNG bytes.
A PNG needs a second component that behaves like a browser (or another HTML renderer). Your workflow should treat these as separate stages:
- Generate trusted HTML in n8n.
- Send that HTML to a renderer, either an external API or a local browser runtime.
- Receive PNG bytes and keep them as binary data for storage, delivery or another node.
This separation also makes failures easier to diagnose: HTML-generation errors are different from browser-loading or image-output errors.
#1 Best Overall
- PORTABLE SCANNER FOR USE ON-THE-GO — The fastest and lightest mobile single-sheet-fed compact document scanner in its class¹
- QUICK DOCUMENT SCANNING ― This Epson ultra-fast scanner scans a single page as quickly as 5.5 seconds²; Windows and Mac compatible
- VERSATILE PAPER HANDLING ― Portable scanner scans documents up to 8.5 x 72 in; Also easily digitizes receipts and ID cards to make accounting, bookkeeping, and organizing simpler
- INTUITIVE, HIGH-SPEED SOFTWARE — Epson ScanSmart Software³ is a smart tool allowing you to easily scan, review, and save; Stay organized easily with the help of this Epson scanner
- EASY SETUP — USB-powered connect to your computer for quick and simple scanning; No batteries or external power supply required to operate portable document scanner; Standard Connectivity: USB 2.0
Choose the rendering route
| Route | n8n node | Where it runs | Best fit | Main trade-off |
|---|---|---|---|---|
| Rendering API | HTTP Request | Any n8n deployment that can make outbound HTTPS requests, including n8n Cloud | Teams that do not want to install or patch browsers | Your HTML and output may leave n8n; verify the provider’s security, retention and response contract |
| Local renderer | Execute Command | The host, container or worker executing the workflow | Self-hosted installations needing local data handling or custom runtime control | You maintain the browser, dependencies, fonts and operating-system compatibility |
The API approach uses the documented capabilities of the HTTP Request node. The local approach depends on a renderer you select and maintain; n8n’s documentation does not prescribe a particular browser package or command syntax.
Route A: convert HTML through a rendering API
1. Build the HTML string
Use the HTML node, a Set/Edit Fields node, or a Code node to create one field containing the complete document or fragment expected by your renderer. Keep data insertion explicit. Escape user-provided text and attributes, and do not accept arbitrary HTML from untrusted users without sanitization. n8n warns that generating HTML from untrusted data can create cross-site scripting (XSS) problems.
A minimal HTML value might contain a complete document:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<style>body{font-family:Arial,sans-serif;padding:32px}</style>
</head>
<body>
<h1>{{$json.title}}</h1>
<p>{{$json.description}}</p>
</body>
</html>
Replace expressions with values produced by your workflow. If the renderer requires a fragment rather than a full document, follow that service’s current API documentation.
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minutePC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 112. Configure HTTP Request
- Add an HTTP Request node after the HTML-producing node.
- Set the method, URL, authentication and headers required by the renderer you selected. The exact endpoint, credential type and payload schema are provider-specific.
- Send the HTML in the body using the provider’s documented content type, such as JSON or text. Do not assume that a field named
htmlis accepted without checking the provider’s current specification. - Configure the response as a file/binary response when the service returns PNG bytes. Select or name the binary property according to your n8n version and downstream-node requirements.
- Execute the node once and inspect both the HTTP status and the response headers. Confirm the MIME type is an image (normally
image/png) and that the binary property contains data, not an error JSON document.
HTTP Request supports configurable methods, authentication, headers, bodies and file responses, but it cannot turn an arbitrary HTML response into an image on its own. The renderer must perform that work.
Rank #2
- FAST SPEEDS - Scans color and black and white documents a blazing speed up to 16ppm (1). Color scanning won’t slow you down as the color scan speed is the same as the black and white scan speed.
- ULTRA COMPACT – At less than 1 foot in length and only about 1. 5lbs in weight you can fit this device virtually anywhere (a bag, a purse, even a pocket).
- READY WHENEVER YOU ARE – The DS-640 mobile scanner is powered via an included micro USB 3. 0 cable allowing you to use it even where there is no outlet available. Plug it into you PC or laptop and you are ready to scan.
- WORKS YOUR WAY – Use the Brother free iPrint&Scan desktop app for scanning to multiple “Scan-to” destinations like PC, Network, cloud services, Email and OCR. (2) Supports Windows, Mac and Linux and TWAIN/WIA for PC/ICA for Mac/SANE drivers. (3)
- OPTIMIZE IMAGES AND TEXT – Automatic color detection/adjustment, image rotation (PC only), bleed through prevention/background removal, text enhancement, color drop to enhance scans. Software suite includes document management and OCR software. (4)
3. Use the binary PNG
Once the response is binary, connect a storage, email, webhook or file node that accepts binary data. Preserve the binary property name consistently. If you need a predictable filename, set it in the downstream node or with n8n’s binary-data options. Avoid converting the PNG to a UTF-8 string; doing so corrupts image bytes.
API-route security and privacy checks
- Store API credentials in n8n credentials, not in expressions or hard-coded workflow text.
- Check whether the provider stores submitted HTML, external resources or generated images, and for how long.
- Do not send secrets embedded in HTML unless the renderer is trusted and the data path is acceptable.
- Restrict outbound URLs if your renderer loads remote assets; this reduces accidental access to internal services.
Route B: run a renderer with Execute Command
The Execute Command node runs shell commands on the machine that runs n8n. n8n Cloud does not provide this node. It is also disabled by default from n8n 2.0 because shell execution is dangerous when untrusted users can create or edit workflows.
1. Install the renderer where the command runs
Select a browser-based renderer compatible with your operating system and install it on the actual execution environment. You are responsible for its installation, browser version, fonts, sandbox settings and updates. The n8n documentation does not establish a universal package name, install command or screenshot syntax, so use the selected renderer’s own documentation rather than copying an unverified command.
2. Write HTML and choose an output path
Provide the HTML to the renderer using the mechanism it supports: a temporary file, standard input, or a URL served by a private endpoint. Choose an output path writable by the executing user. Make sure the path is also readable by the next n8n node.
3. Execute and import the PNG
- Place an Execute Command node after HTML generation.
- Invoke the renderer with its documented input, viewport and output options.
- Write the PNG to a known temporary path and return a non-zero exit status on failure.
- Add a file-reading node after the command to load the PNG as binary data, or use the renderer’s supported stdout/file integration.
- Delete temporary HTML and image files after successful processing, while retaining enough logs to diagnose failures.
Never concatenate untrusted values directly into a shell command. Pass values through safe arguments or files, validate paths and restrict workflow editing to trusted operators.
Rank #3
- FAST DOCUMENT SCANNING — Document scanner with feeder allows you to speed through stacks with a 50-sheet Auto Document Feeder (ADF); Efficient office scanner to help you scan more productively
- INTUITIVE, HIGH-SPEED SOFTWARE — Quickly scan with this desktop document scanner; Epson ScanSmart Software lets you easily preview scans, email files, upload to the cloud, and more; Plus, automatic file naming saves even more time
- SEAMLESS INTEGRATION — Easily incorporate your data into most document management software with the included TWAIN driver; Office document scanner integrates seamlessly with business workflows
- EASY SHARING — Duplex scanner allows you to scan straight to email or popular cloud storage2 services like Dropbox, Evernote, Google Drive, and OneDrive for simple storage and sharing
- SIMPLE FILE MANAGEMENT — Scanner allows the creation of searchable PDFs with Optical Character Recognition (OCR) and convert scans to editable Word or Excel files effortlessly; Designed for home and office document scanning
Execution-location pitfalls
- Docker: Execute Command runs inside the n8n container, not automatically on the Docker host. A browser installed only on the host is invisible to the container unless you deliberately expose it.
- Queue mode: The command runs on the worker processing that execution. Install the renderer and fonts on every eligible worker, or constrain jobs to workers with the required runtime.
- Permissions: The n8n process must be able to execute the renderer and write/read the output directory.
- Instance policy: If the node is missing, check whether you are on n8n Cloud or whether an administrator disabled Execute Command.
Rendering details that affect the PNG
These settings belong to the renderer, not to n8n’s HTML node. Check the selected renderer’s documentation for exact names and behavior.
- Viewport and device scale: A narrow viewport can trigger responsive CSS; a device scale setting changes pixel density.
- Page height: A viewport screenshot may crop content, while a full-page mode may capture the entire document.
- Fonts: Missing fonts change line wrapping and therefore image dimensions. Install the required fonts in the renderer environment.
- Remote assets: Images, stylesheets and fonts may fail because of authentication, DNS, network policy or certificate issues.
- JavaScript completion: Wait for the page’s data and layout to finish before capture. A fixed delay is less reliable than a renderer-supported readiness condition.
- Color and transparency: Confirm whether the renderer emits an opaque background or supports transparency, and whether that matches your downstream use.
Or skip the browser setup
ScreenshotNeo is a rendering API and MCP server for this use case. It accepts a URL and returns PNG, JPEG, WebP or PDF. Before capture it accepts cookie/consent banners and removes more than 60 known consent platforms, newsletter popups and chat widgets; you can turn each step off. Bot checks/CAPTCHAs, blank pages, timeouts, failed loads and cache hits are not billed, and the response identifies the result with X-Page-Verdict and X-Billed headers. Its MCP server exposes take_screenshot, get_page_info and capture_pdf to Claude, Cursor and other MCP clients.
The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →For HTML generated inside n8n, publish it at a reachable URL first (for example, behind an authenticated endpoint or temporary object URL), then pass that URL to ScreenshotNeo. Do not expose private HTML publicly without access controls.
See the ScreenshotNeo API documentation for authentication and options. A basic cURL call is:
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
Python:
import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)
Node.js:
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
ScreenshotNeo also supports full-page captures with lazy images loaded, CSS-selector element capture, dark mode, 12 device presets and custom viewports, retina scale, PDF paper and page controls, HTML/CSS-to-image, custom CSS and JavaScript, pre-capture clicks, hidden selectors, selector/delay/network-idle waits, request and resource blocking, custom headers/cookies/user agents/Authorization, timezone and geolocation, transparent backgrounds, resizing, selectable cache TTLs, signed image links, asynchronous jobs with signed webhooks, bulk capture of up to 100 URLs per call, a usage API and an OpenAPI specification. Parameter names used by other screenshot APIs also work, easing migration.
There is a free plan with 1,000 shots per month and no card. Paid plans start at $5 for 3,000 shots; every feature is included on every plan, and yearly billing provides two months free. Create a free ScreenshotNeo account to try it.
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Clear out junk files and repair common Windows errorsFree Scan →Rank #4
- Scanner type: Document
- Connectivity technology: USB
- With Auto Scan Mode, the scanner automatically detects what you're scanning
- Digitize documents and images
Troubleshooting
The workflow outputs HTML text, not an image
That is expected from the HTML node. Add a browser renderer through HTTP Request or Execute Command, then handle its PNG response as binary.
Execute Command is unavailable
Check whether the instance is n8n Cloud. If it is self-hosted, ask an administrator whether the node was disabled; n8n 2.0 disables it by default because of security risks.
The command works on a laptop but fails in Docker
Inspect the n8n container image, executable path, installed fonts and mounted directories. The command executes inside the container, not on the Docker host.
Queue executions cannot find the renderer
Identify the worker that processed the execution. Install the runtime and dependencies on each eligible worker or route the workflow to a properly provisioned worker.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Scan for outdated or missing drivers - takes under a minute3Repair Windows errors before they cause bigger problemsThe API returns success but the next node cannot use the image
Inspect the response mode and headers. The provider may have returned JSON, a redirect or an error page. Configure HTTP Request for a file response, verify the MIME type and confirm the binary property name used by the next node.
Best Value
- OUR MOST ADVANCED SCANSNAP. Large touchscreen, fast 45ppm double-sided scanning, 100-sheet document feeder, Wi-Fi and USB connectivity, automatic optimizations, and support for cloud services. Upgraded replacement for the discontinued iX1600
- CUSTOMIZABLE. SHARABLE. Select personalized profiles from the touchscreen. Send to PC, Mac, mobile devices, and clouds. QUICK MENU lets you quickly scan-drag-drop to your favorite computer apps
- STABLE WIRELESS OR USB CONNECTION. Built-in Wi-Fi 6 for the fastest and most secure scanning. Connect to smart devices or cloud services without a computer. USB-C connection also available
- PHOTO AND DOCUMENT ORGANIZATION MADE EFFORTLESS. Easily manage, edit, and use scanned data from documents, receipts, photos, and business cards. Automatically optimize, name, and sort files
- AVOIDS PAPER JAMS AND DAMAGE. Features a brake roller system to feed paper smoothly, a multi-feed sensor that detects pages stuck together, and skew detection to prevent paper damage and data loss
The PNG is blank or incomplete
Investigate the renderer’s viewport, font availability, remote-asset access and readiness condition. Increase or replace a fixed delay with a selector or network-idle wait when the renderer supports one. Also check whether authentication or anti-bot controls prevent the page from loading.
Inserted data creates security issues
Sanitize untrusted HTML, escape text and attribute values, and avoid passing user-controlled strings into shell commands. Limit who can edit workflows and who can invoke a renderer against arbitrary URLs.
Operational checklist
- Decide whether HTML may leave n8n before selecting an API.
- Document the renderer’s request schema, authentication and binary response behavior.
- Pin or regularly update local browser dependencies and fonts.
- Set explicit timeouts and capture failures with the renderer’s status and n8n execution logs.
- Clean temporary files and protect generated images if they contain personal or confidential data.
- Test representative pages: responsive layouts, remote images, custom fonts, delayed JavaScript and authenticated content.
Frequently Asked Questions
Can the n8n HTML node execute JavaScript in the template?
No. It creates or extracts markup; JavaScript execution and browser rendering require a separate renderer.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Does this work on n8n Cloud?
Yes, with a rendering API called through HTTP Request. Execute Command is not available on n8n Cloud.
Where is the PNG stored after HTTP Request?
In the binary property configured for the HTTP Request response. The exact property name depends on your node settings and n8n version.
Is a local browser safer than an API?
Not automatically. A local browser keeps data in your infrastructure but adds shell, browser and dependency security responsibilities; an API reduces maintenance but requires provider trust and data-transfer review.
Quick 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.

