A fast Elixir library to parse image binaries and extract dimensions, mime-type, and validity for 13+ formats.
ExImageInfo is an Elixir library that parses raw image binaries to extract metadata such as dimensions (width and height), mime-type, format variant, and validity. It solves the problem of quickly and accurately identifying image properties without loading the entire image or relying on external dependencies, supporting over 13 common and modern image formats.
Elixir developers building applications that need to process, validate, or analyze images—such as content management systems, image upload services, media pipelines, or static site generators.
Developers choose ExImageInfo for its benchmarked speed, extensive format support including modern formats like AVIF and HEIC, and its dependency-free design. It returns comprehensive metadata in a single efficient pass, with careful attention to format specifications.
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.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports 13+ image formats including modern ones like AVIF and HEIC, with detailed variant detection as shown in the mime-type table in the README.
Benchmarked as the fastest Elixir library for dimension extraction, with no dependencies ensuring quick processing, as highlighted in the benchmarks section.
Entirely self-contained with zero external dependencies, reducing project complexity and installation overhead.
Returns mime-type, variant, and dimensions in a single call, optimizing efficiency as explained in the design decisions for minimizing re-parsing.
The README explicitly warns that formats like ICO, JP2, PNM, and ISOBMFF (HEIC, HEIF, AVIF) are implemented with caution and may have issues, requiring careful use and additional testing.
Only extracts basic metadata like dimensions and mime-type; does not support EXIF data, color profiles, or other advanced image attributes, which might be needed for richer applications.
Relies on binary signatures for validity checks, which might not catch all corrupted images or complex format violations, offering only a 'seems?' level of assurance.