image

Rust library for image processing plus encoders/decoders for common image formats

Library
Cargo
v0.25.10
5,853stars
MIT OR Apache-2.0

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
81/100Excellent
Development Activity92
Maintenance52
Community80
Maturity60
Momentum40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
83/100Excellent
Architecture87
Code Quality85
Innovation80
Learning Curve78

image is a Rust crate providing image processing functions and methods alongside encoders and decoders for the image formats developers actually use — PNG, JPEG, GIF, WebP, AVIF, BMP, TIFF, ICO, HDR, QOI, and more, enabled through opt-in feature flags. Its high-level ImageReader API loads an image and decodes it in two lines, while lower-level GenericImage/GenericImageView traits give access to pixel-level manipulation.

The crate is designed to be dependency-light by default: applications are encouraged to disable default features and enable only the specific formats they need, keeping compile times and binary size down. A companion crate, image-extras, extends format support further through the same plugin interface used internally.

What You Get

  • A high-level ImageReader API for opening and decoding images in a couple of lines of code
  • Built-in encoders/decoders for AVIF, BMP, EXR, FF, GIF, HDR, ICO, JPEG, PNG, PNM, QOI, TGA, TIFF, and WebP
  • GenericImage/GenericImageView traits and ImageBuffer for pixel-level image manipulation
  • Common image operations (imageops) like resizing, cropping, rotation, and color quantization
  • Optional Rayon-backed multi-threading for parallelizable operations
  • A plugin interface (also used by the image-extras companion crate) for adding support for additional formats

Common Use Cases

  • Loading and decoding uploaded images of unknown format before further processing or validation
  • Resizing, cropping, or converting images between formats (e.g. PNG to WebP) in a build or server pipeline
  • Generating thumbnails or previews for a media-handling application
  • Reading pixel data for computer-vision or machine-learning preprocessing pipelines
  • Writing generated or processed image data back out to disk or over the network in a target format

Under The Hood

Architecture - src/lib.rs defines the crate’s public surface around ImageReader (in src/io.rs) and the GenericImage/GenericImageView traits (src/traits.rs), with each supported format implemented as an independent codec module under src/codecs/ that plugs into a shared decode/encode interface. src/imageops/ implements portable operations (resize, crop, filters) generically over any type implementing those core traits, and src/color.rs/src/images/ define the pixel and buffer types that tie decoders, encoders, and operations together.

Tech Stack - Pure Rust (edition 2021, MSRV 1.88), structured as feature-gated codec modules so consumers pull in only the formats they need; optional dependencies include rayon for parallelism, nasm-accelerated ravif for AVIF encoding, and mp4parse/dav1d for non-Rust AVIF decoding. deny.toml enforces dependency licensing/security policy and clippy.toml enforces lint configuration across the codebase.

Code Quality - The tests/ directory includes dedicated reference-image comparison tests (reference_images.rs), malformed-input handling tests (bad_images.rs), and resource-limit tests (limits.rs, limits_anim.rs) — reflecting the fact that image decoders are a common target for malicious input and need explicit hardening, not just correctness tests. A fuzz/ and fuzz-afl/ directory provide continuous fuzzing of the format decoders.

API Design - The two-tier design — a simple ImageReader::open(...)?.decode()? path for common cases and lower-level trait-based pixel access for advanced manipulation — keeps the common path nearly boilerplate-free while still exposing full control when needed. The explicit guidance to disable default features and cherry-pick formats is an unusual but deliberate ergonomics trade-off: slightly more setup for library authors in exchange for a much smaller dependency tree in the final binary.

Used by 15 apps in this directory

TypeScript
55%
Other

Cap

Team Chat · Video Conferencing

20,986

Open source Loom alternative with GPU-accelerated recording, instant share links, AI summaries, and full self-hosting via Docker Compose.

View details
89
Repo Health
81
Technical
65
Dependency
Built with
TypeScript55%
Rust40%
Updated yesterday
Rust
66%
Other

DefGuard

Security · Networking · Authentication

2,805

Self-hosted secure remote access that unifies WireGuard VPN, identity management, and connection-level MFA in one open-source platform.

View details
85
Repo Health
82
Technical
77
Dependency
Built with
Rust66%
TypeScript32%
Updated today
TypeScript
88%
MIT

DevTools-X

Developer Tools

1,532

41 offline-first developer utilities in a single 10MB cross-platform desktop app — no Electron, no cloud, no compromise.

View details
51
Repo Health
68
Technical
68
Dependency
Built with
TypeScript88%
Updated 2 months ago
Rust
95%
MIT

Fyrox

Game Development

9,512

A production-ready 2D/3D game engine written in Rust with a built-in scene editor, physics, and hot-reloading game scripts

View details
85
Repo Health
79
Technical
68
Dependency
Built with
Rust95%
Updated yesterday
Rust
89%
Apache 2.0

Graphite

Code Editors · Design Tools

26,876

A free, open source procedural 2D design tool that unifies vector, raster, motion graphics, and generative art in a single node-based nondestructive workflow.

View details
84
Repo Health
77
Technical
70
Dependency
Built with
Rust89%
Updated today
Rust
84%
Apache 2.0

liteparse

Developer Tools

12,123

A fast, lightweight, open-source document parser that extracts spatial text, bounding boxes, and Markdown from PDFs and Office files — entirely on your machine.

View details
83
Repo Health
80
Technical
74
Dependency
Built with
Rust84%
Updated today
TypeScript
96%
AGPL 3.0

Midday

Invoicing Finance · Productivity

14,770

All-in-one AI-powered business operations platform for freelancers and solo entrepreneurs to manage invoicing, time tracking, banking, and financial intelligence.

View details
56
Repo Health
78
Technical
72
Dependency
Built with
TypeScript96%
Updated 2 months ago
Rust
53%
GPL 3.0

openfootmanager

Game Development

1,082

A free and open source football management simulation game built with Rust and Tauri, inspired by Football Manager.

View details
93
Repo Health
79
Technical
75
Dependency
Built with
Rust53%
TypeScript47%
Updated 2 days ago
Python
74%
AGPL 3.0

OpenViking

Databases · AI Development

29,711

An open-source context database that gives AI agents a unified filesystem for memory, resources, and skills with hierarchical tiered retrieval.

View details
84
Repo Health
75
Technical
65
Dependency
Built with
Python74%
Rust14%
Updated today

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers

Search