v1.1.1 now with HEIC support

Image processing
at light speed

Open-source, high-performance image resizing and optimization service. Self-host your own transformation API with Bun and Elysia.

terminal
1 # Resize an image on-the-fly
2 curl "https://api.resize.it/images/resize/photo.jpg
3 ?width=800&format=webp&quality=90"
4
5 # Or use the SDK
6 const url = client.getResizeUrl('photo.jpg', {
7 width: 800,
8 format: 'webp'
9 });
10x
Faster than traditional solutions
70%
Average file size reduction
100%
Open source & free
<50ms
Average response time

Everything you need for image optimization

Built with performance in mind, using the fastest tools in the ecosystem.

Lightning Fast

Built with Bun and Sharp for maximum performance. Process thousands of images per second.

S3 Compatible

Uses Bun's native S3 client. Works with AWS S3, MinIO, Cloudflare R2, and more.

HEIC Support

Convert Apple's HEIC format to web-friendly formats automatically. Full iOS photo support.

Smart Caching

Redis/Dragonfly integration for blazing-fast repeated requests. Cache once, serve forever.

Flexible Transforms

Resize, crop, rotate, flip, blur, grayscale, and watermark. All via simple query parameters.

Self-Hosted

Your data, your infrastructure. No vendor lock-in, no usage limits, complete privacy.

Simple, powerful endpoints

A clean REST API that does one thing well. No complex configurations, just intuitive query parameters for all transformations.

GET /images/resize/:path
POST /images/upload
GET /admin/health
POST /admin/cache/minio/clear
View Full API Docs
Query Parameters
1 width // Target width in pixels
2 height // Target height in pixels
3 format // webp, jpeg, png
4 quality // 1-100 (default: 80)
5 rotate // Degrees (0-360)
6 sharpen // Sharpen the image
7 flip // Horizontal flip
8 flop // Vertical flip
9 grayscale // Convert to B&W
10 blur // Gaussian blur sigma
app.ts
1 import { ResizeIt } from '@karnak19/resize-it-sdk';
2
3 const client = new ResizeIt({
4 baseUrl: 'https://images.example.com',
5 apiKey: process.env.RESIZE_IT_KEY
6 });
7
8 // Upload an image
9 const { path } = await client.uploadImage(file, {
10 path: 'uploads/photo.jpg',
11 contentType: 'image/jpeg'
12 });
13
14 // Generate optimized URLs
15 const thumbnail = client.getResizeUrl(path, {
16 width: 200,
17 format: 'webp'
18 });

First-class developer experience

Type-safe API client with zero dependencies. Works in Node.js, Bun, browsers, and edge runtimes.

npm install @karnak19/resize-it-sdk
Full TypeScript support
Zero dependencies
Next.js integration
URL builder utilities
Configurable timeouts
Tree-shakeable

Up and running in minutes

Choose your preferred deployment method.

1

Clone the repository

git clone https://github.com/karnak19/resize-it.git && cd resize-it
2

Start with Docker Compose

docker compose up -d
3

Start resizing images

curl "http://localhost:3000/images/resize/sample.jpg?width=800&format=webp"

Ready to optimize your images?

Join developers who trust Resize-It for their image processing. Self-host with confidence.