Skip to content

Add Support for Additional Image Formats (WEBP, GIF, HEIF, TIFF, BMP) #1030

@JaYRaNa213

Description

@JaYRaNa213

Describe the feature

Description

Currently, PictoPy reliably supports common image formats like .jpg, .jpeg, and .png, but several widely used image formats are not fully supported or handled consistently.

This limitation causes images in formats such as WEBP, GIF, and HEIF to be ignored during scanning, syncing, or gallery rendering.

Current State

Backend and sync logic mainly process:

.jpg

.jpeg

.png

Other formats may exist in the filesystem but are:

Not indexed

Not displayed

Or skipped silently

Example from code:

const ALLOWED_IMAGE_EXTENSIONS = [
  '.jpg',
  '.jpeg',
  '.png',
  '.webp',
  '.heic',
  '.heif',
  '.tiff',
  '.tif',
  '.bmp',
  '.gif',
];

However, frontend rendering and backend processing do not fully support all of these formats.

Proposed Enhancement

Add end-to-end support (sync → database → API → UI rendering) for additional image formats:

.webp

.gif (static images at minimum)

.heic / .heif

.tiff / .tif

.bmp

Expected Behavior

Images in supported formats should:

Be detected by the sync microservice

Be inserted into the database

Appear correctly in the gallery

Unsupported formats should fail gracefully with clear logs (not silently skipped)

Why This Matters

  1. Modern devices (especially mobile phones) default to HEIF / WEBP

  2. Browsers and OSes increasingly use WEBP

  3. Improves real-world usability and completeness of PictoPy

  4. Makes PictoPy a more reliable “drop-in” photo library solution

Add ScreenShots

not supported in pictopy:

Image Image

Record

  • I agree to follow this project's Code of Conduct
  • I want to work on this issue

Hello @rahulharpal1603 sir
Assign this issue to me

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions