Freedom251 › Photo Resizing Software
picfit

What picfit is
picfit is a reusable Go server for image processing, including resizing and thumbnail generation. It can also flip or rotate images, overlay one image on another, and apply blur. Supported formats are JPEG, PNG, GIF, BMP, and WebP, with dimension-based resizing and quality controls. The server proxies requests to a storage engine and is intended to run behind an HTTP cache such as Varnish or a CDN. Storage options include a filesystem, Amazon S3, DigitalOcean S3, Google Cloud Storage, and HTTP-based sources. Generated image keys can use in-memory caching, Redis, Redis Cluster, or Redis replicas with round-robin reads. Optional request signing uses an HMAC-SHA1 digest, and configuration can limit image sizes, source dimensions, concurrent operations, and access to selected endpoints by IP. Uploads are disabled by default; the project warns against exposing the upload endpoint without a security mechanism. Installation instructions describe building with Go and Git or using Docker integration. picfit is free and open source, and its README lists Ulule as a production user.
Who it suits
picfit may suit developers who need a self-hosted image-processing service and can configure storage and HTTP caching. Its documented controls and integrations may also fit teams deploying image operations behind a CDN or Varnish.
What it does well
- Supports five image formats, including WebP.
- Offers several storage backends and key-value stores.
- Can restrict endpoint access by IP address.
- Supports request signing and operation limits.
- Free and open source.
What to know first
- Intended to run behind an HTTP cache.
- Uploads are disabled by default.
- Exposing uploads without security is unsafe.
- Installation instructions focus on Go/Git or Docker.
Limits
Uploads are disabled by default. Configuration can limit source image dimensions, generated image sizes, and concurrent resize, thumbnail, and fit operations.
Getting started
- Visit the picfit project website on GitHub.
- Build the binary using Go and Git, or use the Docker build integration.
- Choose a filesystem, cloud storage, or HTTP-based storage backend.
- Configure an in-memory cache or Redis option for generated image keys.
- Place the service behind Varnish or a CDN and set any needed request signing and access restrictions.
Verdict
picfit provides image transformations through a configurable Go server, with multiple storage and cache options. It is aimed at deployments with an HTTP cache, and upload access needs particular care because it is disabled by default.
Questions
Is picfit free?
Yes. picfit is free and open source.
Which platforms does picfit support?
It supports API use, Linux, and self-hosted deployment.
Which image formats can it handle?
JPEG, PNG, GIF, BMP, and WebP are supported.
Which storage backends are available?
Options include a filesystem, Amazon S3, DigitalOcean S3, Google Cloud Storage, and HTTP-based filesystem or S3 sources.
Does picfit support caching and integrations?
It is intended to run behind an HTTP cache such as Varnish or a CDN. The project also documents Ansible, Sentry with Raven, and a Go client library.
How are uploads and requests secured?
Uploads are disabled by default, and optional request signing uses an HMAC-SHA1 digest of the client key and query string. Configuration can restrict access to selected endpoints by IP.
Facts from picfit's own pages
- Access controls
- The README describes restricting generated image sizes and maximum source dimensions, and restricting selected endpoints by IP address. · github.com, 10 Oct 2026
- Client and production use
- The README lists a Go client library and names Ulule, a European crowdfunding platform, as using picfit in production. · github.com, 10 Oct 2026
- Deployment
- The README recommends running picfit behind a CDN for larger applications or Varnish for smaller ones. · github.com, 10 Oct 2026
- Deployment model
- The server acts as a proxy to a storage engine and is intended to run behind an HTTP cache system. · github.com, 4 Oct 2026
- Founded
- 2014 · github.com, 28 Sept 2026
- HTTP methods
- The service provides display, redirect, and get methods; display stores generated images asynchronously while redirect and get generate synchronously. · github.com, 10 Oct 2026
- Image formats
- The README lists JPEG, PNG, GIF, BMP, and WebP as supported formats. · github.com, 10 Oct 2026
- Image operations
- Supported operations include resize, thumbnail, flip, rotate, overlay with a flat image, and blur effect. · github.com, 10 Oct 2026
- Installation
- The README documents building a binary with Go and git and provides a Docker build integration; it says Debian packages will be provided when the project is stable. · github.com, 10 Oct 2026
- Integrations
- The README documents Varnish or a CDN for caching, Ansible for provisioning, Sentry with Raven for error reporting, and a Go client library. · github.com, 4 Oct 2026
- Key-value integrations
- Key-value options include in-memory cache, Redis, Redis Cluster, and Redis with replica round-robin reads. · github.com, 10 Oct 2026
- Key-value stores
- Generated image keys can use an in-memory cache, Redis, Redis Cluster, or Redis replicas with round-robin reads. · github.com, 4 Oct 2026
- Observability
- Logging to stderr and stdout is enabled by default, and Sentry error reporting can be configured. · github.com, 10 Oct 2026
- Operational limits
- The server can limit source image dimensions and the number of concurrent resize, thumbnail, and fit operations. · github.com, 4 Oct 2026
- Proxy
- It acts as a proxy to a storage engine and is intended to run behind an HTTP cache such as Varnish. · github.com, 10 Oct 2026
- Purpose
- picfit is a reusable Go server for manipulating images, including resizing and thumbnail generation. · github.com, 10 Oct 2026
- Request security
- Optional request signing uses an HMAC-SHA1 digest of the client key and query string when a secret_key is configured. · github.com, 10 Oct 2026
- Storage backends
- Storage options include a filesystem, Amazon S3, DigitalOcean S3, Google Cloud Storage, and HTTP-loading variants. · github.com, 4 Oct 2026
- Storage integrations
- Storage backends listed include filesystem, Amazon S3, DigitalOcean S3, Google Cloud Storage, and HTTP-based filesystem or S3 sources. · github.com, 10 Oct 2026
- Support and contributions
- The README invites users to send patches or improvements and points to the project's GitHub issues for its roadmap. · github.com, 4 Oct 2026
- Upload safety
- Uploads are disabled by default, and the README warns that exposing the upload endpoint without a security mechanism is unsafe. · github.com, 10 Oct 2026
- Upload security
- Image upload is disabled by default, and the README warns that exposing the upload endpoint without a security mechanism is unsafe. · github.com, 4 Oct 2026
- Use in production
- The README lists Ulule, described there as a European crowdfunding platform, as using picfit in production. · github.com, 4 Oct 2026
Where picfit stands on Freedom251
- Photo Resizing Software#14 of 28