# Dinky > A tiny macOS compression app for images, videos, audio, and PDFs. Converts stills to WebP, AVIF, lossless PNG, or HEIC; exports video to smaller MP4 (H.264 or HEVC) with optional FPS cap; cross-converts AAC, ALAC, WAV, AIFF, FLAC, and MP3; shrinks PDFs. Drag and drop, get smaller files back. Free, open source, and entirely local — files never leave your machine. ## What it does - **Images** — JPG, PNG, WebP, AVIF, HEIC/HEIF, TIFF, BMP → WebP, AVIF, lossless PNG, or HEIC - **Videos** — common formats (e.g. MP4, MOV) → MP4 with H.264 or HEVC and quality presets; optional FPS cap (lower output frame rate when the source is higher) - **Audio** — AAC (M4A), ALAC, WAV, AIFF, FLAC, MP3 cross-convert via macOS `afconvert`; MP3 encode via bundled **lame** - **PDFs** — **Flatten (default)** rasterizes pages (PDFKit + JPEG) for reliable size wins; **Preserve (best-effort)** uses bundled **qpdf** (with lossless stream coalescing + resource cleanup) then PDFKit — only keeps output when smaller. **Scan OCR (optional)**: Vision text layer on scan-like PDFs before flatten/preserve. **Target file size**: set a ceiling (e.g. 10 MB) and Dinky steps down quality tiers until the output fits. **Image downsampling**: opt-in mixed-mode rasterizes image-heavy pages at 144 DPI while keeping text/link pages selectable — high-impact on 300 DPI scan PDFs - Drag and drop or file picker; batch compression with live results - **URL drop** — drag or paste a direct `http(s)` link to an image, video, audio file, or PDF; Dinky downloads (max 500 MB), compresses, and cleans up the temp file - **Clipboard Compress** — system-wide hotkey (default ⌘⇧V) works even when Dinky isn't focused; pastes file URLs, raw image bytes, or media URLs from the clipboard - **Custom keyboard shortcuts** — rebind Open Files, Clipboard Compress, Compress Now, Clear, and Delete in Settings → Shortcuts - **Launch at login** — opt-in via SMAppService so Dinky and any watch folders are ready at login - **Localized** — functional UI follows the system language for 12 Tier-1 macOS locales (de, es, fr, it, ja, ko, nl, pt-BR, ru, tr, zh-Hans, zh-Hant); brand voice and playful copy stay in English - **Originals** — keep, move to Trash, or move to a Backup folder per preset / globally - **Batch speed** — Fast (one at a time), Faster (up to three parallel), or Fastest (up to eight) - Max width resizing (common web presets or custom value) - Max file size targeting via binary search on quality (images); step-down quality targeting for PDFs - Smart quality: detects photos vs graphics (UI, illustrations, logos, screenshots) via Vision framework + EXIF, adjusts quality per content type - Finder Quick Actions — compress without opening the app - Manual mode: drop files, then right-click each one to pick format individually - Skip threshold: skip files below a minimum savings target — Off, 2%, 5%, or 10% - Completion sound scales with savings: Tink (< 100 KB), Pop (< 1 MB), Glass (< 5 MB), Hero (5 MB+) - Update checker: polls GitHub Releases on launch, shows banner if newer version exists ## Version line - **1.x** (from 1.0): images only. **2.0+**: images, videos, and PDFs. **2.10+**: adds audio conversion and video FPS cap. Older 1.x binaries remain on GitHub Releases for archival use. ## Technical details - Apple Silicon (M-series Mac) only for distributed 2.x builds; Intel-based Macs are not supported - macOS 15 Sequoia or later (liquid glass UI on macOS 26 Tahoe; frosted material fallback on Sequoia) - SwiftUI + AppKit; the app uses an in-tree Swift package for shared image code + optional `dinky` CLI (not a remote SPM dependency) - 35 MB installed - Image engines bundled: cwebp (Google), avifenc (AOM), oxipng (Rust/MIT) - Audio: cross-convert via macOS **`afconvert`**; MP3 encode via bundled **`lame`** - PDF: flatten via PDFKit + ImageIO; preserve path via bundled **qpdf** + PDFKit; video via AVFoundation export - No cloud, no accounts, no in-app telemetry SDKs - Open source: MIT license ## Network behavior - **Update check:** at most once per 24 hours after the first successful check, the app requests GitHub’s public API for the latest release (`Dinky/Services/UpdateChecker.swift`). No file contents are sent. - **Crash diagnostics:** optional in-app toggle; Apple’s MetricKit delivers payloads on-device. Nothing is transmitted until the user chooses email or a prefilled GitHub issue (`Dinky/Services/DiagnosticsReporter.swift`). - **URL Drop / Clipboard Compress:** HTTPS download only for a direct file URL you paste or drag; no background pre-fetch. Marketing site **dinkyfiles.com** uses Fathom for page analytics only; the app does not. ## Comparison - vs **ImageOptim**: ImageOptim is same-format (lossless) — a JPEG stays a JPEG. Dinky **converts** stills to WebP/AVIF/HEIC/PNG for larger wins; use ImageOptim when you must keep the original extension. - vs **TinyPNG**: TinyPNG uploads images to their servers. Dinky is 100% local. - vs **Squoosh**: Browser-based, one image at a time. Dinky is native, batch, offline. - vs **Optimage**: Similar feature set but Optimage costs $15 and weighs 62 MB. Dinky is free and 35 MB. - vs **HandBrake**: HandBrake is built for deep video encoding (tracks, chapters, many settings). Dinky is drop-and-done for smaller MP4s and lives beside images, audio, and PDFs in one app. - vs **QuickTime**: QuickTime ships with macOS for playback and simple one-file export. Dinky adds named H.264/HEVC presets, FPS cap, batch folders, watch folders, audio cross-converts, still-image plus PDF compression in the same app. - vs **Apple Compressor**: Compressor is for Final Cut and pro encoding batches. Dinky is a lightweight drop zone when you only need a smaller MP4 plus images, audio, and PDFs in the same MIT app. - vs **Permute**: Permute is a broad Mac media converter. Dinky is compression-first with open source PDF and still-image pipelines alongside video and audio. - vs **FFmpeg**: FFmpeg is CLI-first with unlimited flexibility. Dinky wraps common shrink tasks in a native GUI and adds PDFs, audio, and stills—no shell flags. - vs **Adobe Acrobat**: Acrobat is a full subscription PDF suite and a large install. Dinky targets straight compression—flatten, preserve, target size, optional scan OCR—in a ~35 MB free app. - vs **Preview**: Preview handles still exports and smaller PDFs via Quartz filters for one-off saves. Dinky adds batch, watch folders, target size, WebP/AVIF/HEIC conversion for images, flatten/preserve PDF modes, and mixed media in one workflow. - vs **PDF Squeezer**: Both are Mac-native PDF compressors; Dinky is MIT-licensed and bundles image + MP4 + audio compression in the same app. - vs **Smallpdf**: Smallpdf is browser-first with uploads. Dinky keeps PDF, image, video, and audio compression on disk. - vs **Clop**: Clop is menu-bar and clipboard–first with a Pro tier for some automation. Dinky is a free MIT window–first drop zone with watch folders included and deeper PDF tooling in a smaller install. - vs **Picmal**: Picmal is a paid Mac app for images, video, PDFs, and audio with a large footprint. Dinky is free, open source, ~35 MB, and covers images, video, PDFs, and audio—with a vastly smaller bundle. - vs **Smol**: Smol is a $29 menu-bar app (macOS 13+, Apple Silicon only) for images, PDFs, and video—Smart Clipboard, batch folder drops, no watch-folder automation, no audio. Dinky is free MIT, ~35 MB, adds audio and watch folders, and offers CLI automation—without RAW or AI upscale today. ## Links - Website: https://dinkyfiles.com - Comparisons index: https://dinkyfiles.com/compare/ - Comparisons (SEO): https://dinkyfiles.com/compare/imageoptim/, https://dinkyfiles.com/compare/optimage/, https://dinkyfiles.com/compare/tinypng/, https://dinkyfiles.com/compare/squoosh/, https://dinkyfiles.com/compare/clop/, https://dinkyfiles.com/compare/picmal/, https://dinkyfiles.com/compare/smol/, https://dinkyfiles.com/compare/handbrake/, https://dinkyfiles.com/compare/compressor/, https://dinkyfiles.com/compare/permute/, https://dinkyfiles.com/compare/ffmpeg/, https://dinkyfiles.com/compare/quicktime/, https://dinkyfiles.com/compare/adobe-acrobat/, https://dinkyfiles.com/compare/preview/, https://dinkyfiles.com/compare/pdf-expert/, https://dinkyfiles.com/compare/pdf-squeezer/, https://dinkyfiles.com/compare/smallpdf/, https://dinkyfiles.com/compare/xld/, https://dinkyfiles.com/compare/freac/ - Support: help@dinkyfiles.com - GitHub: https://github.com/heyderekj/dinky - Latest release: https://github.com/heyderekj/dinky/releases/latest - Download v2.12.0: https://github.com/heyderekj/dinky/releases/download/v2.12.0/Dinky-2.12.0.dmg - Homebrew (optional): `brew tap heyderekj/dinky https://github.com/heyderekj/dinky` then `brew install --cask dinky` ## Author Derek Castelli — freelance web designer (Webflow, Figma, Cursor) - Website: https://heyderekj.com - GitHub: https://github.com/heyderekj ## Agent integration This website is a static marketing page for the Dinky macOS app. There is **no public HTTP API**, **no OAuth/OIDC**, **no protected API resource**, and **no remote MCP server** on dinkyfiles.com. - Machine-readable discovery: `https://dinkyfiles.com/openapi.yaml` (empty paths for the *site*; see description for the local product), `https://dinkyfiles.com/.well-known/api-catalog`, `https://dinkyfiles.com/.well-known/agent-skills/index.json`, and this file (`https://dinkyfiles.com/llms.txt`). - **Local automation (images):** the open-source app repo ships a `dinky` **CLI** and optional **loopback** `dinky serve` (build from `DinkyCoreImage/` on a Mac). Same JSON contract for `--json` and `POST /v1/compress`. Documented in-repo: `docs/local-cli.md` (schema `dinky.image.compress/1.0.0`). **No** upload to dinkyfiles.com; paths are explicit and on-device. - **WebMCP** (Chromium): when supported, the homepage registers in-browser tools via `navigator.modelContext.registerTool()` — e.g. scroll to FAQ, open install help, copy the quarantine Terminal command, open GitHub Releases. - Automation outside the browser: use **GitHub** (source, issues, releases) and direct **DMG download URLs** from the Releases page for the GUI app. For image compression from Terminal/agents, use the **local** `dinky` tool from the repository — not this website.