October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PCOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
HTML to JPG

How to Convert HTML to JPG Offline

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.

Yes—you can convert HTML to a JPG without uploading the file. Use a local browser engine or HTML-to-image utility to render the document, then save the rendered pixels as JPEG. The most controllable approach is Playwright: load local markup, set a viewport, wait for assets, and call page.screenshot({ type: "jpeg" }). Command-line users can use wkhtmltoimage; PHP projects can use Browsershot with a locally installed headless Chrome. Renaming .html to .jpg does not convert anything.

What “offline HTML to JPG” actually means

HTML is markup, not an image file. A rendering engine must calculate CSS, run permitted JavaScript, load images and fonts, and paint the result. The renderer then encodes those pixels as JPEG and writes a local file. A truly offline workflow has two requirements:

  • The renderer, runtime, and browser components are installed before disconnecting.
  • Every required stylesheet, script, image, font and data file is available locally. A page that references a CDN, remote font, API or hosted image can be incomplete when the network is unavailable.

Make paths deterministic. Keep assets beside the HTML file or use correct absolute file:// URLs, and test with networking disabled before relying on the output.

Best general method: Playwright

Playwright provides a browser automation API. Its Page API supports page.setContent(html), local screenshot paths, JPEG output, a quality value from 0 to 100 (default 80), viewport sizing and fullPage capture. Install the package and browser binaries while you still have internet access, then the conversion itself can run disconnected.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
Sale
Nelko PP01 Photo Printer, 2x3 Portable Photo Printer, Mini Printer, White
  • 2x3" Portable Photo Printer: The upgraded PP01 photo printer uses advanced inkjet technology. This portable photo printer produces vivid, full-color prints on premium sticky-backed photo paper that is smudge-proof, water-resistant, and tear-resistant. The Nelko mini photo printer is pocket-sized and weighs only 308g, making it ultra-portable for school, travel, and field trips. Each ink cartridge prints up to 80 full-color 2x3 photos on sticky-backed paper
  • Easy Printing via Bluetooth: The PP01 mini photo printer is compatible with iOS and Android phones via Bluetooth. Simply download the Nelko app from Google Play or the App Store. Load the 2x3 photo paper with the smooth side facing down. Install the ink cartridge, connect via Bluetooth, and print directly using the Nelko app. A USB charging cable is included; the adapter is not included
  • High Photo Quality: This mini photo printer uses advanced inkjet technology for clear, vibrant prints. This portable photo printer produces 600 DPI high-resolution images with precise colors, capturing fine details and realistic tones. Each photo comes with adhesive backing, perfect for scrapbooks and preserving your memories. Personalize every photo for holidays, birthdays, or daily events
  • Powerful App: The Nelko 2x3" PP01 photo printer app lets you edit photos and offers a variety of frame designs, making it perfect for personalizing your photos for projects like scrapbooking or journaling. Download the Nelko app to create collages and customize photos with filters, graffiti, borders, stickers, text, AI image editing, and many other features. Edit photos on your phone, then send them to the Nelko app for instant printing in under 90 seconds
  • Versatile Usage Scenarios: This portable photo printer is ideal for travel journals, party favors, and family gatherings. Students use it for planners and photo printing. Crafters use it for DIY projects, custom labels, and scrapbooking. It's a practical tool for bloggers, small businesses, and event photographers to create instant giveaways. Perfect for Mother's Day surprises and heartfelt moments with loved ones using Nelko sticky-backed photo paper.

Install before going offline

npm init -y
npm install playwright
npx playwright install chromium

The browser download is separate from the npm package, so complete it before disconnecting. In a locked-down environment, copy the installed project and browser cache to the offline machine according to your organisation’s deployment process.

Convert an HTML file to JPG

const { chromium } = require('playwright');
const fs = require('fs');

(async () => {
  const browser = await chromium.launch({ headless: true });
  const page = await browser.newPage({
    viewport: { width: 1440, height: 900 },
    deviceScaleFactor: 1
  });

  const html = fs.readFileSync('./input.html', 'utf8');
  await page.setContent(html, { waitUntil: 'load' });
  await page.screenshot({
    path: './output.jpg',
    type: 'jpeg',
    quality: 85,
    fullPage: true
  });

  await browser.close();
})();

Save this as convert.js and run node convert.js. The resulting output.jpg is written locally. waitUntil: "load" waits for the document load event; pages that populate content after load need an additional, document-specific readiness step.

Use a local file URL instead of setContent

setContent is convenient for a string of markup. Navigation is preferable when relative URLs must resolve against the HTML file’s directory:

const path = require('path');
const { chromium } = require('playwright');

(async () => {
  const browser = await chromium.launch();
  const page = await browser.newPage({ viewport: { width: 1280, height: 800 } });
  await page.goto('file://' + path.resolve('input.html'), { waitUntil: 'load' });
  await page.screenshot({ path: 'output.jpg', type: 'jpeg', quality: 80, fullPage: true });
  await browser.close();
})();

Whether local subresources are permitted can depend on browser and operating-system policy. If a file-based page behaves differently from setContent, serve the directory through a local-only web server and navigate to its loopback URL; that server does not require an internet connection.

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.

Choose dimensions and JPEG quality deliberately

  • Viewport: Set width and height before navigation or setContent when responsive CSS affects layout. A narrow viewport can trigger mobile breakpoints.
  • Visible viewport versus full page: Omit fullPage (or set it to false) for the current viewport. Set fullPage: true for the complete scrollable document.
  • Quality: Playwright documents 0–100, with 80 as the default. Higher values preserve fine text and gradients but produce larger files; lower values reduce size and can introduce ringing around text.
  • Device scale: A higher deviceScaleFactor creates more pixels for the same CSS dimensions and can improve small text, at the cost of memory and file size.
  • Background: JPEG has no alpha channel. Playwright’s omitBackground option does not apply to JPEG, so transparent designs should be exported as PNG instead.

Wait for fonts, images and application content

For a static document, the load event may be sufficient. For web fonts and images, explicitly wait for the resources your page needs:

Rank #2
Sale
Liene M100 4x6'' Photo Printer, Phone Printer 100 Sheets & 3 Cartridges, Full-Color Photo, Portable Instant Photo Printer for iPhone Android, Thermal Dye Sublimation, Wi-Fi Picture Printer 100 Papers
  • User-Friendly Portable Photo Printer for iPhone, Android & PC - Get beautiful and colourful memories with Liene 4x6 photo printer! After opening the entire package, you can find one cartridge + 20 sheets of photo paper (placed inside the machine packaging), as well as an additional box containing 80 sheets of photo paper (which includes two cartridges + 80 sheets of photo paper). Full package includes smartphone photo printer, Liene 4x6 photo printer papers (100 sheets), 3 colour cartridges, and fully sealed cassette to prevent dust. Minimalist and magnetic design for compact storage.
  • Superior Quality 4x6 Photo Printer - Print photos like no other thanks to the thermal-dye sublimation tech adopted by the picture printer for iphone. The dyes deeply penetrate the paper for vibrant photo printing, and the laminated surface is resistant to water, scratches, fingerprints and fading. Clean the print head promptly if smudges are observed on printed photos during operation. Get Liene photo printers now for yourself and your loved ones, print your happy moments together and keep your love forever!
  • Wi-Fi Photo Printer for Smartphone - The built-in hotspot of the photo printer makes it easy to print pictures from your phone, avoiding outside interference with a fast and stable connection. No other networks required! Simply connect your device to the independent instant photo printer 4x6 hotspot.
  • Multiple Device Compatibility - Liene phone printer provides instant photo printing for up to 5 simultaneous connections. Share with family and friends or print from your different devices. No additional cables or Bluetooth required when printing photos with this picture printer. Note: Ensure the ink cartridge clicks into place before printing.
  • Customize your Printing with the Liene App - Customize your photos with our specialized App! You can add a Square border, insert filters, enhance the contrast and brightness, check printing status, and more. You can even print your ID and Visa photos from home with this photo printer for iphone 4x6 prints.
await page.setContent(html, { waitUntil: 'domcontentloaded' });
await page.evaluate(() => document.fonts ? document.fonts.ready : Promise.resolve());
await page.waitForFunction(() => [...document.images].every(img => img.complete));
await page.screenshot({ path: 'output.jpg', type: 'jpeg', quality: 85, fullPage: true });

For JavaScript-rendered content, wait for a selector that proves the data is present, or use a short delay only when the page has no better readiness signal. There is no universal delay that works for every document; inspect the image and adjust the condition to the page.

Command line: wkhtmltoimage

wkhtmltoimage renders an input page to an image from a terminal. The Debian man page documents this invocation shape:

wkhtmltoimage [OPTIONS]... <input file> <output file>

A typical conversion is:

wkhtmltoimage --format jpg --width 1440 --height 900 input.html output.jpg

Available switches include output format, screen dimensions, image loading, JavaScript enable/disable and a JavaScript delay. For example, to allow scripts and wait briefly:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
wkhtmltoimage --enable-javascript --javascript-delay 1500 input.html output.jpg

Use a delay only as a starting point. If scripts fetch remote data, disabling the network will still leave the page empty. Conversely, disabling JavaScript can make a static export more deterministic:

wkhtmltoimage --disable-javascript input.html output.jpg

Check the installed version’s help output because packaging and supported switches can vary by operating system.

Rank #3
KODAK Dock Plus 4x6 Photo Printer, Smartphone Docking, 4PASS, 50 Sheets
  • Dock Photo Printer: The KODAK Dock Plus is a home photo printer that produces high-quality 4x6” prints directly from compatible smartphones. Featuring an integrated docking station, users can place their phone on the printer for better connection while simultaneously charging the device during printing.
  • Genuine 4PASS dye sublimation printing: Each photo is produced in three color layers and finished with a clear protective lamination layer. In approximately 55 seconds, you receive a smooth, detailed print designed to resist fingerprints, water, and fading for long-lasting quality.
  • Easy to Use: Print photos quickly without complicated setup or technical steps. Simply power on, connect wireless bluetooth, and start printing within seconds. The Dock Plus is built for straightforward operation, making it ideal for first time users and everyday photo printing.
  • Home Printing Station: Designed for stable desktop use, this dock photo printer connects to a power outlet for consistent performance and larger 4x6” prints. Ideal for home printing, photo albums, framing, family events, and everyday picture printing.
  • KODAK Photo Printer APP: Featuring integrated Bluetooth connectivity, this portable printer connects to compatible iOS and Android devices through the KODAK Photo Printer app. Edit, crop, and customize your photos before printing for creative results.

PHP applications: Browsershot

Spatie Browsershot is a PHP-oriented wrapper that uses Puppeteer and headless Google Chrome to render pages to images or PDFs. Its README also documents supplying HTML directly. It is useful when conversion belongs inside a Laravel or other PHP process, but it is not a zero-dependency converter: install the PHP package, its Node/Puppeteer runtime, and a local Chrome-compatible browser before going offline. Keep the HTML’s referenced assets local and verify the generated file in the same way as a direct Playwright capture. Documentation: https://github.com/spatie/browsershot.

Offline asset checklist

  • Copy CSS files, JavaScript bundles, images, SVGs and web fonts into the offline project.
  • Replace CDN URLs and remote @font-face sources with local paths.
  • Provide local data instead of API calls, or wait for a locally generated fixture.
  • Check case-sensitive filenames; a path that works on one filesystem can fail on another.
  • Run with the network disabled and inspect for missing glyphs, broken images and empty components.

When a layout depends on an external stylesheet or font, the renderer can only use whatever is cached or bundled locally. Do not assume a previously viewed online page will remain complete offline.

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

Playwright, wkhtmltoimage or Browsershot?

Workflow Interface Useful controls Offline consideration
Playwright Node.js automation API Viewport, full-page capture, JPEG quality, script-controlled waits Install Node, Playwright and browser binaries first; keep assets local
wkhtmltoimage Command line Output format, dimensions, image loading, JavaScript and delay switches Install the executable and test its rendering of your document
Browsershot PHP wrapper around Puppeteer/Chrome HTML or URL input and image/PDF rendering through the browser stack Requires PHP, Node/Puppeteer and a local Chrome-compatible browser

Choose Playwright when you need programmable readiness checks and modern browser automation. Choose wkhtmltoimage for a simple shell pipeline. Choose Browsershot when the conversion is already part of a PHP application.

Troubleshooting

The JPG is blank or only partly drawn

Confirm that the HTML is valid, assets exist at the resolved paths and JavaScript has finished. Add a selector-based wait, wait for document.fonts.ready, and verify image completion. If the page requires an API, provide an offline fixture or remove that dependency.

Images or fonts are missing

Inspect relative URLs against the document base, copy the referenced files, and replace HTTP URLs with local ones. Check filename case and permissions. A network-disabled run is the definitive test for an offline package.

Rank #4
KODAK Mini 2 Retro 2x3 Portable Photo Printer, 4PASS, 38 Sheets, White
  • Instant Photo Printing: The KODAK Mini 2 Retro is a portable photo printer designed to turn smartphone pictures into high quality prints in seconds. Whether capturing family moments, travel highlights, journaling pages, or creative projects, this mini printer lets you print real photos anytime, anywhere.
  • Genuine 4PASS dye sublimation printing: Each photo is produced in three color layers and finished with a clear protective lamination layer. In approximately 55 seconds, you receive a smooth, detailed print designed to resist fingerprints, water, and fading for long-lasting quality.
  • Easy to Use: Print photos quickly without complicated setup or technical steps. Simply power on, connect wireless bluetooth, and start printing within seconds. The Mini 2 Retro is built for straightforward operation, making it ideal for first time users and everyday photo printing.
  • Print Anytime, Anywhere: Small enough to fit in your hand, bag, or even a pocket, the Mini 2 Retro is built for on-the-go printing. Ideal for parties, trips, school projects, scrapbooks, and spontaneous moments where you want real prints without waiting.
  • KODAK Photo Printer APP: Featuring integrated Bluetooth connectivity, this portable printer connects to compatible iOS and Android devices through the KODAK Photo Printer app. Edit, crop, and customize your photos before printing for creative results.

The layout is unexpectedly mobile or clipped

Set the viewport before loading the page. Use fullPage: true for a long document, and set an explicit width for responsive designs. Very large pages may require splitting captures or reducing scale to limit memory use.

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

Text looks soft or the file is too large

Increase device scale or JPEG quality for detail, then reduce one setting at a time if size becomes excessive. JPEG is lossy; screenshots containing small text and sharp UI edges may need a higher quality or a PNG output.

JavaScript content never appears in wkhtmltoimage

Ensure JavaScript is enabled, set a delay appropriate to the document, and make sure the code does not call an unavailable remote service. A deterministic local “ready” marker is more reliable than guessing a long delay.

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

Or skip the browser setup

If you do not need the conversion to remain offline, ScreenshotNeo returns a rendered screenshot from one GET request and supports PNG, JPEG or WebP. Its cleanup step accepts cookie/consent banners and removes more than 60 known consent platforms, newsletter popups and chat widgets before capture; each step can be turned off. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads and cache hits are not billed, and response headers identify the page verdict and billing status. It also offers an MCP server for AI agents, with take_screenshot, get_page_info and capture_pdf.

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

For the complete parameter list and options, see the ScreenshotNeo API documentation. The same endpoint supports full-page and element captures, device presets or custom viewports, retina scale, dark mode, custom CSS and JavaScript, click and wait actions, blocked requests, headers, cookies, user agents, authorization, timezone, geolocation, image resizing, chosen cache TTL, signed image links, asynchronous webhooks, bulk capture of up to 100 URLs per call, usage information and an OpenAPI specification. Existing parameter names used by other screenshot APIs also work, which can simplify migration.

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

ScreenshotNeo has a free allowance of 1,000 screenshots per month with no card. Paid plans start at $5 for 3,000 screenshots; yearly billing provides two months free. Create a free ScreenshotNeo account to try it.

Best Value
KODAK Step Instant Smartphone Photo Printer, Portable Mini Color Wireless Mobile Printer, Zink 2x3” (5.1x7.5 cm) Sticky-Back Photos, Bluetooth Compatible with iOS & Android Devices, Editing App, White
  • STEP UP YOUR PRINTING GAME. KODAK Step Printer Connects to Any iOS or Android Device [Via Bluetooth or NFC] Turn Your Selfies, Portraits, Social Media Posts Into Physical Photos.Package Includes : KODAK STEP Instant Mobile Photo Printer, Micro USB Charging Cable, Starter Pack of KODAK ZINK Photo Paper, Quick Start Guide, Limited Warranty
  • AMAZING ZERO-INK TECHNOLOGY. ZINK 2” x 3” Sticky-Back Paper with Embedded Dye Crystals Delivers High-Quality, Durable, Affordable, Beautifully Detailed Prints That are Resistant to Moisture, Rips, Tears & Smudges.
  • FULL EDITING SUITE VIA APP. Download the KODAK App to Create Collages & Customize Your Snaps with Stunning Filters, Interesting Borders, Cool Stickers, Funny Text & Other Personalized Flair.
  • TAKE YOUR PROJECTS TO GO. Our Palm-Sized Printer Weighs Less Than a Pound, Sets Up Fast & Delivers Gorgeous Prints You Can Peel & Stick Everywhere.
  • CUTE, COMPACT & COLORFUL. Step Printer is Designed for Photo-Loving Influencers & Crafters of All Ages & Skill Levels! Portable, Lightweight Device Features Built-In Lithium-Ion Rechargeable Battery [Prints 25 Photo on a Full Charge]

Cost, reliability and privacy decisions

Local rendering has no per-image service charge after installation, but you maintain the runtime, browser binaries and asset bundle. It is the right choice for sensitive documents that must not leave the machine. Reproducibility depends on pinning your browser and package versions, fixing viewport and scale, and keeping fonts and assets under version control.

A hosted API removes local browser maintenance and is convenient for public URLs, but it requires network access and sends the target URL (and any permitted request data) to the service. Review your organization’s data policy before sending private pages. For either approach, retain the input, settings and output when an image is part of an audit or build artifact.

Frequently Asked Questions

Can I convert HTML to JPG by opening it in a browser and saving?

A browser’s normal Save command saves the document or page source, not necessarily a JPEG. Use a screenshot or HTML-to-image renderer so the rendered pixels are encoded as JPG.

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

Should I use JPEG or PNG for an HTML screenshot?

Use JPEG for opaque photographs or smaller files where some compression is acceptable. Use PNG when you need transparency, lossless text and line art, or exact flat-color edges.

Does offline conversion work for a page that uses a CDN?

Only if the required resources are already available locally or cached in a way your renderer can use. Bundle the resources and test with networking disabled for a dependable offline result.

How do I capture only one HTML element?

With Playwright, locate the element and call its locator screenshot method, for example await page.locator('.invoice').screenshot({ path: 'invoice.jpg', type: 'jpeg', quality: 85 });.

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.

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

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.

Read next

Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Outdated Drivers Are Slowing You DownFree scan - exact matches

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.