The Tinify ecosystem

One image engine. Everywhere you work.

The same compression engine behind the free web tools also runs the API, the SDK, the CLI, the MCP server, and the GitHub Action. 500 operations free every month, no card.

Create a free API key

+

images processed

Live total across compress, resize, crop, and convert.

free operations every month

Only successful operations count toward usage.

%

cheaper than TinyPNG at 10,000 operations

Tinify Pro at $29 vs TinyPNG pay-as-you-go at $85.50 a month.

Every surface

Pick where the image lives.

Browser, terminal, codebase, CI, or an AI agent. Every path calls the same versioned API, counts operations the same way, and keeps the same honest results.

Web tools

Compress, resize, crop, and convert in the browser, with no account and up to 50 files per batch.

  • Free, no signup
  • AVIF, WebP, JPEG, PNG, and GIF
  • Files deleted after two hours

Image API

The same engine over a versioned HTTP API with idempotent requests and a stable error model.

  • 500 free operations every month
  • Only successful operations count
  • Download URLs expire after two hours
cURLPOST /images/compress
curl -X POST https://api.tinify.dev/api/v1/images/compress \
  -H "Authorization: Bearer tnf_live_..." \
  -F "file=@hero.png" -F "quality_mode=balanced"

MCP server

Give Claude, Cursor, Codex, and any MCP client five image tools backed by the API.

  • Runs over stdio with npx
  • Node.js 20 or newer
  • Same 500 free operations
Terminal
claude mcp add tinify -e TINIFY_API_KEY=tnf_live_... -- npx -y @tinify-dev/mcp

JavaScript SDK

A zero-dependency TypeScript client for compress, resize, crop, convert, usage, and batches.

  • Dual ESM and CommonJS build
  • Idempotency keys added for you
  • Typed errors from real API codes
npm
npm i @tinify-dev/client

CLI

Compress a folder of images from the terminal. The SDK ships a binary, so there is nothing extra to install.

  • Bundled with the SDK
  • Glob inputs, writes *.min.png next to each file
  • compress, resize, crop, convert
Terminal
npx @tinify-dev/client compress *.png

GitHub Action

Compress images in CI and only rewrite files that actually get smaller.

  • check or write mode
  • Sticky per-file pull request comment
  • Never grows a file, never pushes on its own
workflow.yml
- uses: tinify-dev/compress-action@v1
  with:
    api_key: ${{ secrets.TINIFY_API_KEY }}
    mode: check
    comment: true

Claude Code plugin

Add the MCP server to Claude Code from the plugin marketplace in two commands.

  • Wraps @tinify-dev/mcp
  • Runs inside Claude Code
  • Same tools, same free tier
Claude Code
/plugin marketplace add Stianlars1/tinify-claude-plugin
/plugin install tinify@tinify

Compare and pricing

Honest cost math against TinyPNG, ShortPixel, and Kraken.io, run at your own volume.

  • Per-operation pricing, not per byte
  • 66% cheaper than TinyPNG at 10,000 operations
  • Free for 500 operations a month

Honest by design

The same promises on every surface.

The rules that make the web tools trustworthy are the rules the API, SDK, and agents inherit. Nothing changes when you automate.

Compression never returns a larger file

When an encoded result would be bigger, the API returns the original and marks it optimized: false. This holds for compression only; resize and convert report changes plainly.

Files are deleted after two hours

Uploads and results expire two hours after processing. Nothing is retained, and file names and image contents are never used for analytics.

Only successful operations count

A failed operation is free. The 500 monthly operations and every paid plan count completed work, not attempts.

No ads, no watermarks, no signup

The web tools run in the browser without an account. Paid plans add volume, not features held back from the free tier.

Start with 500 free operations.

Create a key, or read the docs first. Only successful operations count, and the free tier resets every month.