Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Elixir
  3. imagineer

imagineer

MITElixir

A pure Elixir library for reading and writing PNG and JPEG images without external dependencies.

GitHubGitHub
118 stars16 forks0 contributors

What is imagineer?

Imagineer is a native Elixir image processing library that parses and writes image files entirely in Elixir, eliminating the need for external C bindings or system dependencies. It provides a clean, functional interface for working with image data directly within the Elixir ecosystem, currently focusing on PNG support with JPEG in development.

Target Audience

Elixir developers who need to process images without relying on external system dependencies, such as those building web applications, image manipulation tools, or embedded systems where portability is critical.

Value Proposition

Developers choose Imagineer for its pure Elixir implementation, ensuring portability and ease of deployment, and its structured image data output that allows direct pixel access and manipulation using familiar Elixir data types.

Overview

Image processing in Elixir

Use Cases

Best For

  • Processing PNG images in Elixir applications without external dependencies.
  • Building portable Elixir tools or embedded systems where system-level image libraries are unavailable or undesirable.
  • Programmatically manipulating image pixels using Elixir tuples and functional programming patterns.
  • Converting images to and from binary formats for storage or transmission within Elixir pipelines.
  • Learning or experimenting with image file formats using Elixir's interactive environment.
  • Developing community-driven image processing libraries that prioritize correctness and extensibility for various image specifications.

Not Ideal For

  • Production applications requiring stable APIs and no breaking changes
  • Projects needing full JPEG support immediately
  • High-performance image processing with large or real-time workloads

Pros & Cons

Pros

Pure Elixir Implementation

No external C bindings or system dependencies, ensuring portability and ease of deployment, as highlighted in the README's core philosophy.

Structured Image Data

Returns images as accessible Elixir data types with fields like width, height, and pixel arrays, allowing intuitive manipulation directly in Elixir.

Direct Pixel Access

Exposes pixel data in formats like RGB tuples, enabling programmatic image manipulation, as demonstrated in the pixel array examples.

Binary Serialization

Supports converting images back to binary format via to_binary for saving or transmission, integrating seamlessly with Elixir pipelines.

Cons

Limited Format Support

Currently only handles a subset of PNGs, with JPEG in development, restricting use for common image types as admitted in the README.

Beta Stage Instability

Pre-1.0 releases may include backwards incompatible changes, making it unreliable for production, per the status warning.

Incomplete Feature Set

Acknowledges not all PNG specifications are supported, requiring community help to handle edge cases, which adds overhead for users.

Frequently Asked Questions

Quick Stats

Stars118
Forks16
Contributors0
Open Issues3
Last commit7 years ago
CreatedSince 2014

Tags

#png#elixir#graphics#pure-elixir#image-processing#file-parsing#jpeg#no-dependencies

Built With

E
Elixir

Included in

Elixir13.1k
Auto-fetched 19 hours ago

Related Projects

mogrifymogrify

Image processing in Elixir (ImageMagick command line wrapper)

Stars585
Forks64
Last commit3 years ago
cloudexcloudex

An elixir library which helps with uploading image files or urls to cloudinary

Stars105
Forks67
Last commit2 years ago
ex_image_infoex_image_info

ExImageInfo is an Elixir library to parse images (binaries) and get the dimensions (size), detected mime-type and overall validity for a set of image formats. It is the fastest and supports multiple formats.

Stars101
Forks5
Last commit1 year ago
thumbnexthumbnex

Elixir library to create thumbnails from images and video screenshots.

Stars74
Forks7
Last commit2 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub