Skip to content

Toni77777/HEIC-to-JPEG-Converter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HEIC to JPEG Converter

A native macOS app for batch converting HEIC images to JPEG — fast, private, and free.

Light mode    Dark mode

Features

  • Drag & drop — drop files or entire folders, conversion starts automatically
  • Batch conversion — processes multiple images concurrently
  • JPEG quality control — slider to balance file size and image quality
  • Custom save location — choose any output folder
  • Completion notifications — get notified when a batch finishes
  • 100% offline — no internet connection, no cloud upload, no tracking
  • App Sandbox — sandboxed with user-selected file access only

Download

Grab the latest .dmg from the Releases page.

Note: The app is ad-hoc signed (no Apple Developer account). On first launch macOS Gatekeeper will block it. To open it:

  1. Right-click HEICConverter.appOpenOpen again in the dialog

Or via Terminal:

sudo xattr -rd com.apple.quarantine "/Applications/HEICConverter.app"

Building from Source

Requirements

  • macOS 15.0 (Sequoia) or later
  • Xcode 26+

Architecture

HEICConverter/
├── Models/
│   ├── ConversionError.swift
│   ├── ConversionItem.swift
│   ├── ConversionResult.swift
│   └── ConversionSettings.swift
├── Services/
│   ├── FileSystemService.swift        # actor — file I/O
│   ├── ImageConversionService.swift   # struct — HEIC → JPEG conversion
│   └── NotificationService.swift      # user notifications
├── ViewModels/
│   ├── ConversionViewModel.swift
│   └── SettingsViewModel.swift
├── Views/
│   ├── HomeView.swift
│   ├── DropZoneView.swift
│   ├── ConversionListView.swift
│   ├── ConversionItemRow.swift
│   ├── FooterView.swift
│   └── Settings/
└── Util/
    ├── GlassStyle.swift
    └── Extensions/
  • Swift 6 / SwiftUI — 100% SwiftUI interface
  • MVVMConversionViewModel and SettingsViewModel drive the UI
  • Swift Concurrency — structured task groups for parallel conversion
  • Actor isolationFileSystemService actor; project-wide @MainActor default isolation via SWIFT_DEFAULT_ACTOR_ISOLATION

License

MIT


Built by Anton Paliakou

About

Native macOS app to convert HEIC images to JPG. Fast, lightweight, offline — your photos never leave your Mac.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages