HEIC to JPG Converter: iPhone Photos in Bulk avatar

HEIC to JPG Converter: iPhone Photos in Bulk

Pricing

from $3.20 / 1,000 photo converteds

Go to Apify Store
HEIC to JPG Converter: iPhone Photos in Bulk

HEIC to JPG Converter: iPhone Photos in Bulk

Convert HEIC and HEIF photos from iPhone and iPad to JPEG, PNG, WebP or AVIF in bulk. Resize to presets, compress to a quality or file size target, and strip GPS and EXIF data. Returns file links and sizes. No upload to outside services.

Pricing

from $3.20 / 1,000 photo converteds

Rating

0.0

(0)

Developer

Malik Said

Malik Said

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Security

Limited permissions

Share

HEIC to JPG Converter: iPhone Photos to JPEG, PNG, WebP

HEIC to JPG Converter turns HEIC and HEIF photos from iPhone and iPad into JPEG, PNG, WebP or AVIF in one run. It can also resize them to web, product or social media sizes and compress them to a quality or file size target. GPS location and other EXIF data are removed. You get a download link for every converted file and one dataset row per photo.

What it does

  • Converts HEIC and HEIF photos (iPhone, iPad, many Android phones and cameras) to JPEG, PNG, WebP or AVIF.
  • Handles the standard 12 MP and 24 MP phone photos, and files with several images inside (bursts, edits). The first image is used.
  • Keeps the photo upright. The decoder applies the rotation and mirroring stored in the file.
  • Also converts JPEG, PNG, WebP, AVIF, GIF and TIFF files in the same run.
  • Resizes to presets: thumbnail, web, product square, Instagram, story, link preview and 16:9, or to your own size.
  • Compresses to a quality from 1 to 100, or to a maximum file size in kilobytes.
  • Removes GPS location, camera details and other metadata. The row says whether the original had GPS data, but never saves the position.

Decoding runs inside the container with libheif and sharp. Your photos go to no outside service.

Input: photo URLs or your own files

You can give photos in three ways:

  1. HEIC or image URLs. Paste links, one per line. The Actor reads robots.txt on each host and skips files it does not allow.
  2. Key-value store. Upload HEIC files to one of your Apify key-value stores and pick it in the input. The Actor only reads that store.
  3. Dataset. Pick a dataset with photo links, for example from a scraper, and name the field that holds the link (default imageUrl). The Actor only reads the dataset.

With no input, the Actor converts one built-in sample HEIC photo, so a test run always works.

How to convert HEIC to JPG in bulk

  1. Paste your HEIC links in HEIC or image URLs, or pick a key-value store with your files.
  2. Pick the Output format. JPEG opens everywhere.
  3. Optional: pick a Resize preset, or set a Maximum file size.
  4. Click Start.
  5. Open the Converted files tab, or use the outputUrl link in each dataset row.

Output

Each converted file is saved in the run's key-value store. Each photo also gets one dataset row.

FieldMeaning
statusok or failed
errorWhy the photo failed. Null when it worked
sourceurl, keyValueStore or sample
imageUrl / keyValueStoreKeyWhere the photo came from
inputFormat, inputWidth, inputHeight, inputBytesThe photo before conversion. HEIC and HEIF show as heif
outputFormat, outputWidth, outputHeight, outputBytesThe file after conversion
bytesSaved, savedPercentSize change. Negative when the new file is larger, which is normal for HEIC to JPEG
qualityQuality used for JPEG, WebP or AVIF
targetKilobytes, targetMetThe size target and whether the file fits it
hadExif, hadGpsWhether the input had EXIF data and a GPS position
metadataStrippedWhether metadata was removed from the output
outputKey, outputUrlKey and download link of the converted file

Turn on One ZIP with all photos to also get one ZIP file with every converted photo. The ZIP is free. Its link is in the run's OUTPUT record (zipUrl) and in the status message. One ZIP holds up to 1,000 photos or 2 GB; photos past that stay available through their own links.

Sample record from a local test run (a 24 MP HEIC photo of NASA's "The Blue Marble", public domain, converted to JPEG):

{
"status": "ok",
"source": "keyValueStore",
"keyValueStoreKey": "p24",
"inputFormat": "heif",
"inputWidth": 5712,
"inputHeight": 4284,
"inputBytes": 1680702,
"outputFormat": "jpeg",
"outputWidth": 5712,
"outputHeight": 4284,
"outputBytes": 2649119,
"bytesSaved": -968417,
"savedPercent": -57.6,
"quality": 90,
"resizePreset": "none",
"hadExif": true,
"hadGps": false,
"metadataStripped": true,
"outputKey": "p24-8a5778f0.jpg",
"contentType": "image/jpeg",
"processingMs": 2809
}

The record has more fields, such as id, outputUrl and scrapedAt. Fields that do not apply are null.

Resize presets

PresetSizeHow it fits
Thumbnail300 x 300Fits inside, keeps proportions
Web medium1280 wideFits inside
Web large1920 wideFits inside
Product square1000 x 1000Whole image on a square background
Product large2000 x 2000Whole image on a square background
Instagram square1080 x 1080Fills the frame, trims the edges
Instagram portrait1080 x 1350Fills the frame, trims the edges
Story1080 x 1920Fills the frame, trims the edges
Link preview1200 x 630Fills the frame, trims the edges
Wide 16:91600 x 900Fills the frame, trims the edges
Custom sizeYour width and heightYour choice of fit

Input options

OptionDefaultMeaning
HEIC or image URLsNone (sample photo)Links to the photos
Key-value storeNoneYour store with HEIC or image files
Dataset with photo linksNoneA dataset from another run. Links come from Dataset field with the link (default imageUrl)
Record keysAllOnly these records of the store
Output formatJPEGJPEG, PNG, WebP or AVIF
Quality901 to 100 for JPEG, WebP and AVIF
LosslessOffExact pixels for WebP and AVIF
Maximum file size (KB)0 (none)Lowers quality until the file fits, down to 20
Resize presetNo resizeSee the table above
Strip metadataOnRemoves EXIF, GPS, XMP and IPTC data. HEIC output always has none
Maximum input file size25 MBThe limit is 50 MB
Maximum image size40 megapixelsLarger images are skipped
Maximum images100Set 0 for no limit. One run converts at most 5,000
One ZIP with all photosOffAlso save one ZIP with every converted photo. Free

Limits and memory

  • Runs use 512 MB. HEIC photos up to 30 megapixels are converted. That covers 12 MP and 24 MP phone photos. A 48 MP photo is skipped with a clear message. Pick a resize preset and JPEG, PNG or WebP output for large files.
  • AVIF output at full size needs more memory. For photos above about 15 megapixels, pick a resize preset with AVIF.
  • Photos are converted one at a time. In tests, a 12 MP photo took about 1.5 seconds and a 24 MP photo about 3 seconds.
  • Failed photos are saved with the reason and are not charged.

Pricing

You pay per converted photo, plus a small start fee per run. Failed photos are free. See the Pricing tab for current prices.

Privacy and your files

You choose the photos. You must have the right to process them. Photos are processed in the run and stored only in your own Apify storage. GPS positions are never written to the dataset.

FAQ

Why is my JPEG larger than the HEIC file? HEIC compresses better than JPEG. A JPEG at quality 90 is often 30 to 60 percent larger. Lower the quality, or set a maximum file size.

Can I keep the EXIF data? Not for HEIC input. The decoder returns pixels only, so HEIC output never carries EXIF or GPS data. For JPEG, PNG and other inputs, turn off Strip metadata to keep it.

Does it work with Live Photos? It converts the still photo. The video part of a Live Photo is a separate file and is not converted.

Can I call it from an AI agent or an automation? Yes. Call the Actor through the Apify API, MCP, Make, n8n or Zapier with a list of URLs, then read the dataset or the files.