Skip to content

Sebian12/SnapPress

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SnapPress

A desktop application for compressing JPEG and PNG photos without visible quality loss. Built with Python and customtkinter.

Python Pillow Platform

SnapPress GIF

Features

  • Batch compression (multiple files at once)
  • Adjustable quality slider (1–95%)
  • Progress bar with live feedback
  • Savings summary (before / after)
  • Saves compressed files next to originals — originals are never overwritten
  • Settings menu with custom output folder and adjustable thumbnail size

Screenshots

Empty Dark mode After compression Multiple files

Requirements

  • Python 3.10+
  • Pillow

Installation

Universal (Windows, macOS, Linux)

  1. Clone the repository:
git clone https://github.com/Sebian12/SnapPress.git
cd SnapPress
  1. Install dependencies:
pip install Pillow customtkinter CTkMessagebox
  1. Run the app:
python main.py

Windows only

  1. Download .exe file from current release or Apertix website.

Usage

  1. Click Choose photos to select files
  2. Adjust the quality slider (default: 80%)
  3. Click Compress and save
  4. Compressed files are saved in the same folder as the originals with a _compressed suffix or saved in selected folder

Roadmap

  • Switch from tkinter to customtkinter
  • Dark mode (1.2.0)
  • Settings menu (1.3.0)
  • Custom output folder (1.4.0)
  • Settings saver (1.5.0)
  • File counter (1.5.0)
  • Button to clear photo list or single photo (1.5.0)
  • Compressed file size next to file name (1.6.0)
  • Thumbnails of photos (1.7.0)
  • App logo (1.7.1)
  • User set thumbnail size (1.7.2)
  • Optimization (1.8.0)
  • EXIF metadata preservation (1.9.0)
  • Granular metadata control in settings (only GPS data checkbox) (1.10.0)
  • More metadata control in settings (1.11.0)
  • New file format support (1.12.0)
  • Pack compressed photos to zip (1.13.0)
  • Multithreading (planned)
  • Drag & Drop support (planned)

Part of the Apertix ecosystem

App Platform Language
SnapPress Windows / Linux / Web Python / JavaScript
SnapPress Android Android Kotlin
SnapRename Windows C#
SnapRename Android (planned) Android Kotlin

Tech stack

  • Python 3.14
  • customtkinter — GUI
  • Pillow — image processing
  • CTkMessageBox

License

MIT

About

Desktop app for compressing JPG and PNG photos without visible quality loss. Built with Python and customtkinter.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages