Does JavaScript execute during capture?

Yes, with a few-second budget. Heavy SPAs that fetch data on mount usually render correctly; infinite-scroll pages do not auto-trigger.

More about converting HTML to HEIC

HTML is the markup language of the web, and converting it to HEIC turns living, interactive documents into static snapshots stored in the same HEVC-compressed container iPhones use for photos. Common reasons include archiving a page before redesign, keeping a design-reference library in Apple Photos at half the storage cost of JPG captures, or preserving a record of online content in a compact immutable form. Unlike a browser screenshot, an HTML-to-HEIC service renders the page in a controlled environment with a known viewport size, no extensions interfering, and no scrollbars or chrome polluting the capture.

heic.now uses a headless Chromium engine to render HTML5, modern CSS (flexbox, grid, custom properties), and JavaScript with a generous but bounded execution budget. Web fonts load via @font-face if the source declares them; if a font file is hosted externally, the converter fetches it unless CORS blocks the request. The output captures the full scrollable height by default, and the HEVC encoder handles the sharp text edges and flat colour regions of rendered pages notably better than JPG at the same file size - no ringing around body text.

Designers archive prototype states, technical writers keep snapshot libraries of API documentation, and QA teams capture rendering baselines - all workflows where hundreds of captures accumulate and HEIC's 40-50% size advantage over JPG matters. One caveat: browsers themselves don't display HEIC in tags, and most CMSes reject it, so for anything you'll publish back to the web convert the capture via /heic-to-jpg. For multi-page sites, capture each route individually and bundle with /heic-to-pdf. To recover text from a capture, the /image-to-text OCR path works on the rendered output.

When you'd use this

Reasons to convert HTML to HEIC usually come down to compatibility, file-size, or specific feature requirements. Common situations:

  • An app or platform only accepts HEIC uploads.
  • You need a feature unique to HEIC (e.g. transparency, vector scaling, animation, multi-page pages, etc.) that HTML doesn't provide.
  • You're optimising file size — modern formats often produce smaller files than the older format you started with.
  • You need a single archival format across a project so files behave consistently in the same viewer.

How to do it in heic.now

  1. Open the HTML → HEIC tool on heic.now.
  2. Drag your HTML file onto the drop zone, or click Select files. You can drop a whole folder of files at once.
  3. The output is fixed to HEIC. If the format supports extra options (page size, transparency background, quality, EXIF stripping), tweak them in the right-hand panel.
  4. Click Convert. The job runs on our server and finishes in a few seconds for typical photos.
  5. Download the result. Files stay in storage for 24 hours and are then permanently deleted.

The entire flow is free for the first 10 jobs per day with no signup required. A free account doubles that quota; a premium plan removes the limit entirely.

Tips and common pitfalls

  • Include all CSS and font files in the same upload bundle, or use absolute URLs that resolve publicly.
  • Test responsive layouts at common breakpoints - 375px, 768px, 1280px - by adjusting the viewport before capture.
  • Disable animations (prefers-reduced-motion or @media print) so the first frame captures correctly.
  • For dark-mode pages, ensure the @media (prefers-color-scheme) query matches your intended output.
  • Long pages can exceed 30,000px tall; split into sections for sharing or use PDF as the carrier format.
Try the HTML → HEIC tool
Free, no signup required. Files deleted in 24 h.
Open HTML → HEIC
Back to all FAQ