A CLI tool to compress PDF files, written in Go. Uses Ghostscript under the hood for real compression — image downsampling, font subsetting, and full PDF rewrite.
# macOS
brew install go ghostscript
# Ubuntu/Debian
sudo apt install golang ghostscript
# Arch
sudo pacman -S go ghostscript
git clone https://github.com/itsahedge/pdf-compressor.git
cd pdf-compressor
go build -o pdf-compressor .
./pdf-compressor [options] <input.pdf>
| Flag |
Default |
Description |
-quality |
medium |
low, medium, or high |
-output |
<input>_compressed.pdf |
Custom output file path |
| Level |
DPI |
Best for |
low |
72 |
Smallest file size, screen viewing |
medium |
150 |
Balanced size and quality |
high |
300 |
Print-ready, minimal compression |
# Default (medium quality, output alongside input)
./pdf-compressor document.pdf
# Max compression
./pdf-compressor -quality low document.pdf
# Custom output path
./pdf-compressor -quality medium -output ~/Desktop/small.pdf document.pdf