# heic-jpg-exif

> Conversion extending heic-convert to retain essential EXIF metadata

Latest version **1.0.3** (published 2026-11-08) · MIT license · 0 weekly downloads

## Install

```sh
npm install heic-jpg-exif
pnpm add heic-jpg-exif
yarn add heic-jpg-exif
bun add heic-jpg-exif
```

## Health

**Score 70/100 (B)** — status: active.

Positive: has types; no vulnerabilities; has provenance; recently updated; high maintenance score; high quality score.

Warnings: low downloads; no esm support.

## Facts

| | |
|---|---|
| Version | 1.0.3 |
| Published | 2026-11-08 |
| First published | 2024-02-28 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Node | >=18.0.0 |
| Dependencies | 4 |
| Unpacked size | 17.2 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Provenance | attested (GitHub Actions) |
| GitHub stars | 1 |
| Author | Sören Zapp |
| Maintainers | szapp |
| Keywords | heic, convert, jpeg, jpg, image, metadata, exif |

## Links

- npm: https://www.npmjs.com/package/heic-jpg-exif
- Repository: https://github.com/szapp/heic-jpg-exif
- Homepage: https://github.com/szapp/heic-jpg-exif#readme
- Issues: https://github.com/szapp/heic-jpg-exif/issues
- Funding: https://ko-fi.com/szapp
- npm.io page: https://npm.io/package/heic-jpg-exif

## Dependencies (4)

- [exifr](https://npm.io/package/exifr.md) ^7.1.3
- [piexif-ts](https://npm.io/package/piexif-ts.md) ^2.1.0
- [fraction.js](https://npm.io/package/fraction.js.md) ^5.3.4
- [heic-convert](https://npm.io/package/heic-convert.md) ^2.1.0

## Alternatives

- [exif-parser](https://npm.io/package/exif-parser.md) — 3.8M weekly downloads
- [vite-plugin-compression](https://npm.io/package/vite-plugin-compression.md) — 569.5K weekly downloads
- [pica](https://npm.io/package/pica.md) — 442.4K weekly downloads
- [@reportportal/client-javascript](https://npm.io/package/@reportportal/client-javascript.md) — 408.8K weekly downloads
- [@tldraw/state](https://npm.io/package/@tldraw/state.md) — 316.0K weekly downloads

## Recent versions

- 1.0.3 (latest) — 2026-11-08
- 1.0.2 — 2026-05-16
- 1.0.1 — 2025-12-24
- 1.0.0 — 2024-09-02
- 0.3.5 — 2024-03-13
- 0.3.4 — 2024-03-13
- 0.3.3 — 2024-03-13
- 0.3.2 — 2024-03-11
- 0.3.1 — 2024-03-09
- 0.3.0 — 2024-03-06
- 0.2.0 — 2024-02-29
- 0.1.1 — 2024-02-28
- 0.1.0 — 2024-02-28

## README

# heic-jpg-exif

[![ci](https://github.com/szapp/heic-jpg-exif/actions/workflows/ci.yml/badge.svg)](https://github.com/szapp/heic-jpg-exif/actions/workflows/ci.yml)
[![npm-downloads](https://img.shields.io/npm/dm/heic-jpg-exif.svg)](https://www.npmjs.com/package/heic-jpg-exif)
[![npm-version](https://img.shields.io/npm/v/heic-jpg-exif.svg)](https://www.npmjs.com/package/heic-jpg-exif)

Conversion from HEIC to JPG while retaining essential EXIF metadata

## Install

```bash
npm install heic-jpg-exif
```

## Usage (NodeJS)

```javascript
const convert = require('heic-jpg-exif')
```

Convert an HEIC image file to a JPEG file at maximum quality (1)

```javascript
await convert('input.HEIC', 'output.jpg', 1)
```

Convert an HEIC buffer to a JPEG buffer

```javascript
const inBuffer = fs.readFileSync('input.HEIC')
const outBuffer = await convert(inBuffer)
```

## Background

The HEIC image is first converted to a JPG with `heic-convert` and then complemented with the EXIF metadata of the source image using `exifr` and `piexif-ts`.

## See also

- [heic-convert](https://www.npmjs.com/package/heic-convert)
- [exifr](https://www.npmjs.com/package/exifr)
- [piexif-ts](https://www.npmjs.com/package/piexif-ts)

---
_Source: https://npm.io/package/heic-jpg-exif · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
