ImageArm/ImageArm

Native macOS app to batch-optimize images (PNG, JPEG, HEIF, GIF, AVIF, SVG, WebP) — multi-tool pipeline, GPU acceleration, Finder Quick Action, headless CLI

27

stars

4

commits

Swift

primary language

May 21, 2026

updated

README

ImageArm icon

ImageArm

Optimisation d'images surpuissante pour macOS.
GPU Metal. Multi-outils. Zero dépendance.

macOS 14+ Swift 5.9 Metal GPU MIT License Homebrew Cask Ko-fi

English | Français


Soutenir le projet

ImageArm est gratuit et open source. Si il te fait gagner du temps, un café ☕ aide à maintenir et améliorer le projet.

Soutenir sur Ko-fi


🇫🇷 Français

Vos images sont trop lourdes. ImageArm les arme pour le web.

ImageArm est une app macOS native qui compresse vos images jusqu'a 80% sans perte visible de qualite. Glissez vos fichiers, choisissez le niveau, c'est tout. L'app fait le reste en utilisant plusieurs outils de compression qui rivalisent entre eux pour trouver le meilleur resultat — et votre GPU Metal pour aller encore plus loin.

Formats supportes

FormatOutils utilisesAcceleration GPU
PNGpngquant + oxipng
JPEGmozjpeg (jpegtran/cjpeg)Apple Silicon hardware encoder
HEIF/HEICImageIO natifApple Silicon hardware encoder
GIFgifsicle (lossless + lossy optionnel)
TIFFtiffutil -lzw (intégré macOS)
AVIFImageIO natif macOS 14+Apple Silicon hardware encoder
SVGsvgo
WebPcwebp

Comment ca marche

graph LR
    A[🖼️ Votre image] --> B[pngquant]
    A --> C[oxipng]
    B --> D{Le plus petit gagne}
    C --> D
    D --> E[✅ Fichier optimisé]

Chaque outil produit un resultat. Le fichier le plus leger gagne. Votre original est remplace de maniere atomique avec backup dans la corbeille.

4 niveaux d'optimisation

NiveauModeGPUIdeal pour
RapideLosslessNonDeveloppement, CI/CD
StandardLosslessNonUsage quotidien
MaximumLossy + LosslessOuiProduction web
UltraCompression extremeOuiQuand chaque octet compte

Fonctionnalites

  • Drag & drop — Glissez vos images ou dossiers entiers
  • Mode headlessimagearm --headless *.png pour vos scripts et CI
  • Quick Action Finder — Clic droit > Optimiser avec ImageArm
  • Notification macOS — Alerte quand le batch est termine
  • Console de logs — Suivez chaque etape du pipeline en temps reel, copiez tout en un clic
  • Préservation des dates — Option (activée par défaut) pour conserver les dates de création et de modification originales après optimisation
  • Zero dependance runtime — Les outils CLI sont installés via Homebrew/npm, détectés automatiquement
  • Concurrent — Traitement parallele via Swift TaskGroup
  • WCAG AA — Interface accessible
  • Multi-langue — Interface disponible en français, anglais, allemand, néerlandais et italien. Anglais par défaut si votre langue n'est pas supportée.

Installation

Via Homebrew (recommandé)

brew install --cask imagearm/tap/imagearm

Pour mettre à jour :

brew upgrade --cask imagearm

Depuis les sources

# Cloner le repo
git clone https://github.com/ImageArm/ImageArm.git
cd ImageArm

# Compiler les outils CLI embarques (necessite Rust, Bun, CMake)
cd tools && make && make sign-tools && cd ..

# Ouvrir dans Xcode
open ImageArm.xcodeproj
# Build & Run (⌘R)

Installer le service Finder

./install-finder-action.sh

Cela installe :

  • L'action rapide Finder (clic droit > Optimiser avec ImageArm)
  • Le wrapper CLI imagearm dans ~/.local/bin/

Utilisation CLI

# Optimiser des images
imagearm photo.png screenshot.jpg

# Optimiser un dossier entier
imagearm ~/Desktop/assets/

Build system

cd tools
make check-deps     # Verifier les prerequis
make tools          # Compiler les 7 outils
make sign-tools     # Signer (Developer ID + Hardened Runtime)
make release        # Build Release complet
make dmg            # Creer le DMG signe
make notarize       # Notariser aupres d'Apple

Architecture

ImageArm
├── Sources/ImageArm/
│   ├── Models/          # ImageFile, ImageStore, OptimizationLevel
│   ├── Services/        # ImageOptimizer (actor), ToolManager, GPUProcessor
│   ├── Views/           # SwiftUI (ContentView, FileList, DropZone, Settings)
│   └── ImageArmApp.swift
├── tools/
│   ├── Makefile         # Build system outils CLI
│   ├── scripts/         # Scripts de compilation par outil
│   ├── submodules/      # Sources des outils (git submodules)
│   └── bin/             # Binaires compiles
└── project.yml          # Config xcodegen

100% frameworks Apple — SwiftUI, Metal, CoreImage, ImageIO. Zero dependance externe.

Prerequis

  • macOS 14 Sonoma ou ulterieur
  • Xcode 15+
  • Pour compiler les outils : Rust, Bun, CMake (brew install rust oven-sh/bun/bun cmake)

🇬🇧 English

Your images are too heavy. ImageArm arms them for the web.

ImageArm is a native macOS app that compresses your images up to 80% with no visible quality loss. Drop your files, pick a level, done. The app does the rest using multiple competing compression tools for the smallest output — and your Metal GPU to push even further.

Supported formats

FormatTools usedGPU acceleration
PNGpngquant + oxipng
JPEGmozjpeg (jpegtran/cjpeg)Apple Silicon hardware encoder
HEIF/HEICNative ImageIOApple Silicon hardware encoder
GIFgifsicle (lossless + optional lossy)
TIFFtiffutil -lzw (built-in macOS)
AVIFNative macOS 14+ ImageIOApple Silicon hardware encoder
SVGsvgo
WebPcwebp

How it works

graph LR
    A[🖼️ Your image] --> B[pngquant]
    A --> C[oxipng]
    B --> D{Smallest wins}
    C --> D
    D --> E[✅ Optimized file]

Every tool produces a result. The lightest file wins. Your original is atomically replaced with a backup sent to Trash.

4 optimization levels

LevelModeGPUBest for
QuickLosslessNoDevelopment, CI/CD
StandardLosslessNoDaily use
MaximumLossy + LosslessYesWeb production
UltraExtreme compressionYesWhen every byte counts

Features

  • Drag & drop — Drop images or entire folders
  • Headless modeimagearm --headless *.png for scripts and CI
  • Finder Quick Action — Right-click > Optimize with ImageArm
  • macOS notifications — Get alerted when batch processing completes
  • Live log console — Watch every pipeline step in real time, copy all logs in one click
  • File date preservation — Option (enabled by default) to keep original creation and modification dates after optimization
  • Zero runtime dependencies — CLI tools are installed via Homebrew/npm and auto-detected
  • Concurrent — Parallel processing via Swift TaskGroup
  • WCAG AA — Accessible interface
  • Multi-language — Interface available in French, English, German, Dutch and Italian. Defaults to English for unsupported languages.

Installation

brew install --cask imagearm/tap/imagearm

To update:

brew upgrade --cask imagearm

From source

# Clone the repo
git clone https://github.com/ImageArm/ImageArm.git
cd ImageArm

# Build the embedded CLI tools (requires Rust, Bun, CMake)
cd tools && make && make sign-tools && cd ..

# Open in Xcode
open ImageArm.xcodeproj
# Build & Run (⌘R)

Install the Finder service

./install-finder-action.sh

This installs:

  • The Finder Quick Action (right-click > Optimize with ImageArm)
  • The imagearm CLI wrapper in ~/.local/bin/

CLI usage

# Optimize images
imagearm photo.png screenshot.jpg

# Optimize an entire folder
imagearm ~/Desktop/assets/

Build system

cd tools
make check-deps     # Check prerequisites
make tools          # Build all 7 tools
make sign-tools     # Sign (Developer ID + Hardened Runtime)
make release        # Full Release build
make dmg            # Create signed DMG
make notarize       # Notarize with Apple

Architecture

ImageArm
├── Sources/ImageArm/
│   ├── Models/          # ImageFile, ImageStore, OptimizationLevel
│   ├── Services/        # ImageOptimizer (actor), ToolManager, GPUProcessor
│   ├── Views/           # SwiftUI (ContentView, FileList, DropZone, Settings)
│   └── ImageArmApp.swift
├── tools/
│   ├── Makefile         # CLI tools build system
│   ├── scripts/         # Per-tool build scripts
│   ├── submodules/      # Tool sources (git submodules)
│   └── bin/             # Compiled binaries
└── project.yml          # xcodegen config

100% Apple frameworks — SwiftUI, Metal, CoreImage, ImageIO. Zero external dependencies.

Requirements

  • macOS 14 Sonoma or later
  • Xcode 15+
  • To build tools: Rust, Bun, CMake (brew install rust oven-sh/bun/bun cmake)

License

MIT License. See LICENSE for details.


Built with SwiftUI + Metal on macOS. Every pixel optimized.

Contributors

ImageArm

4 commits

ImageArm/ImageArm

Native macOS app to batch-optimize images (PNG, JPEG, HEIF, GIF, AVIF, SVG, WebP) — multi-tool pipeline, GPU acceleration, Finder Quick Action, headless CLI

27

stars

4

commits

Swift

primary language

May 21, 2026

updated

README

ImageArm icon

ImageArm

Optimisation d'images surpuissante pour macOS.
GPU Metal. Multi-outils. Zero dépendance.

macOS 14+ Swift 5.9 Metal GPU MIT License Homebrew Cask Ko-fi

English | Français


Soutenir le projet

ImageArm est gratuit et open source. Si il te fait gagner du temps, un café ☕ aide à maintenir et améliorer le projet.

Soutenir sur Ko-fi


🇫🇷 Français

Vos images sont trop lourdes. ImageArm les arme pour le web.

ImageArm est une app macOS native qui compresse vos images jusqu'a 80% sans perte visible de qualite. Glissez vos fichiers, choisissez le niveau, c'est tout. L'app fait le reste en utilisant plusieurs outils de compression qui rivalisent entre eux pour trouver le meilleur resultat — et votre GPU Metal pour aller encore plus loin.

Formats supportes

FormatOutils utilisesAcceleration GPU
PNGpngquant + oxipng
JPEGmozjpeg (jpegtran/cjpeg)Apple Silicon hardware encoder
HEIF/HEICImageIO natifApple Silicon hardware encoder
GIFgifsicle (lossless + lossy optionnel)
TIFFtiffutil -lzw (intégré macOS)
AVIFImageIO natif macOS 14+Apple Silicon hardware encoder
SVGsvgo
WebPcwebp

Comment ca marche

graph LR
    A[🖼️ Votre image] --> B[pngquant]
    A --> C[oxipng]
    B --> D{Le plus petit gagne}
    C --> D
    D --> E[✅ Fichier optimisé]

Chaque outil produit un resultat. Le fichier le plus leger gagne. Votre original est remplace de maniere atomique avec backup dans la corbeille.

4 niveaux d'optimisation

NiveauModeGPUIdeal pour
RapideLosslessNonDeveloppement, CI/CD
StandardLosslessNonUsage quotidien
MaximumLossy + LosslessOuiProduction web
UltraCompression extremeOuiQuand chaque octet compte

Fonctionnalites

  • Drag & drop — Glissez vos images ou dossiers entiers
  • Mode headlessimagearm --headless *.png pour vos scripts et CI
  • Quick Action Finder — Clic droit > Optimiser avec ImageArm
  • Notification macOS — Alerte quand le batch est termine
  • Console de logs — Suivez chaque etape du pipeline en temps reel, copiez tout en un clic
  • Préservation des dates — Option (activée par défaut) pour conserver les dates de création et de modification originales après optimisation
  • Zero dependance runtime — Les outils CLI sont installés via Homebrew/npm, détectés automatiquement
  • Concurrent — Traitement parallele via Swift TaskGroup
  • WCAG AA — Interface accessible
  • Multi-langue — Interface disponible en français, anglais, allemand, néerlandais et italien. Anglais par défaut si votre langue n'est pas supportée.

Installation

Via Homebrew (recommandé)

brew install --cask imagearm/tap/imagearm

Pour mettre à jour :

brew upgrade --cask imagearm

Depuis les sources

# Cloner le repo
git clone https://github.com/ImageArm/ImageArm.git
cd ImageArm

# Compiler les outils CLI embarques (necessite Rust, Bun, CMake)
cd tools && make && make sign-tools && cd ..

# Ouvrir dans Xcode
open ImageArm.xcodeproj
# Build & Run (⌘R)

Installer le service Finder

./install-finder-action.sh

Cela installe :

  • L'action rapide Finder (clic droit > Optimiser avec ImageArm)
  • Le wrapper CLI imagearm dans ~/.local/bin/

Utilisation CLI

# Optimiser des images
imagearm photo.png screenshot.jpg

# Optimiser un dossier entier
imagearm ~/Desktop/assets/

Build system

cd tools
make check-deps     # Verifier les prerequis
make tools          # Compiler les 7 outils
make sign-tools     # Signer (Developer ID + Hardened Runtime)
make release        # Build Release complet
make dmg            # Creer le DMG signe
make notarize       # Notariser aupres d'Apple

Architecture

ImageArm
├── Sources/ImageArm/
│   ├── Models/          # ImageFile, ImageStore, OptimizationLevel
│   ├── Services/        # ImageOptimizer (actor), ToolManager, GPUProcessor
│   ├── Views/           # SwiftUI (ContentView, FileList, DropZone, Settings)
│   └── ImageArmApp.swift
├── tools/
│   ├── Makefile         # Build system outils CLI
│   ├── scripts/         # Scripts de compilation par outil
│   ├── submodules/      # Sources des outils (git submodules)
│   └── bin/             # Binaires compiles
└── project.yml          # Config xcodegen

100% frameworks Apple — SwiftUI, Metal, CoreImage, ImageIO. Zero dependance externe.

Prerequis

  • macOS 14 Sonoma ou ulterieur
  • Xcode 15+
  • Pour compiler les outils : Rust, Bun, CMake (brew install rust oven-sh/bun/bun cmake)

🇬🇧 English

Your images are too heavy. ImageArm arms them for the web.

ImageArm is a native macOS app that compresses your images up to 80% with no visible quality loss. Drop your files, pick a level, done. The app does the rest using multiple competing compression tools for the smallest output — and your Metal GPU to push even further.

Supported formats

FormatTools usedGPU acceleration
PNGpngquant + oxipng
JPEGmozjpeg (jpegtran/cjpeg)Apple Silicon hardware encoder
HEIF/HEICNative ImageIOApple Silicon hardware encoder
GIFgifsicle (lossless + optional lossy)
TIFFtiffutil -lzw (built-in macOS)
AVIFNative macOS 14+ ImageIOApple Silicon hardware encoder
SVGsvgo
WebPcwebp

How it works

graph LR
    A[🖼️ Your image] --> B[pngquant]
    A --> C[oxipng]
    B --> D{Smallest wins}
    C --> D
    D --> E[✅ Optimized file]

Every tool produces a result. The lightest file wins. Your original is atomically replaced with a backup sent to Trash.

4 optimization levels

LevelModeGPUBest for
QuickLosslessNoDevelopment, CI/CD
StandardLosslessNoDaily use
MaximumLossy + LosslessYesWeb production
UltraExtreme compressionYesWhen every byte counts

Features

  • Drag & drop — Drop images or entire folders
  • Headless modeimagearm --headless *.png for scripts and CI
  • Finder Quick Action — Right-click > Optimize with ImageArm
  • macOS notifications — Get alerted when batch processing completes
  • Live log console — Watch every pipeline step in real time, copy all logs in one click
  • File date preservation — Option (enabled by default) to keep original creation and modification dates after optimization
  • Zero runtime dependencies — CLI tools are installed via Homebrew/npm and auto-detected
  • Concurrent — Parallel processing via Swift TaskGroup
  • WCAG AA — Accessible interface
  • Multi-language — Interface available in French, English, German, Dutch and Italian. Defaults to English for unsupported languages.

Installation

brew install --cask imagearm/tap/imagearm

To update:

brew upgrade --cask imagearm

From source

# Clone the repo
git clone https://github.com/ImageArm/ImageArm.git
cd ImageArm

# Build the embedded CLI tools (requires Rust, Bun, CMake)
cd tools && make && make sign-tools && cd ..

# Open in Xcode
open ImageArm.xcodeproj
# Build & Run (⌘R)

Install the Finder service

./install-finder-action.sh

This installs:

  • The Finder Quick Action (right-click > Optimize with ImageArm)
  • The imagearm CLI wrapper in ~/.local/bin/

CLI usage

# Optimize images
imagearm photo.png screenshot.jpg

# Optimize an entire folder
imagearm ~/Desktop/assets/

Build system

cd tools
make check-deps     # Check prerequisites
make tools          # Build all 7 tools
make sign-tools     # Sign (Developer ID + Hardened Runtime)
make release        # Full Release build
make dmg            # Create signed DMG
make notarize       # Notarize with Apple

Architecture

ImageArm
├── Sources/ImageArm/
│   ├── Models/          # ImageFile, ImageStore, OptimizationLevel
│   ├── Services/        # ImageOptimizer (actor), ToolManager, GPUProcessor
│   ├── Views/           # SwiftUI (ContentView, FileList, DropZone, Settings)
│   └── ImageArmApp.swift
├── tools/
│   ├── Makefile         # CLI tools build system
│   ├── scripts/         # Per-tool build scripts
│   ├── submodules/      # Tool sources (git submodules)
│   └── bin/             # Compiled binaries
└── project.yml          # xcodegen config

100% Apple frameworks — SwiftUI, Metal, CoreImage, ImageIO. Zero external dependencies.

Requirements

  • macOS 14 Sonoma or later
  • Xcode 15+
  • To build tools: Rust, Bun, CMake (brew install rust oven-sh/bun/bun cmake)

License

MIT License. See LICENSE for details.


Built with SwiftUI + Metal on macOS. Every pixel optimized.

Contributors

ImageArm

4 commits

Languages

Swift

79.0%

Shell

16.2%

Makefile

3.8%