DEV Community

eileen-tools
eileen-tools

Posted on

Dealing with HEIC files in a dev workflow (a small annoyance I keep running into)

I don’t usually think about image formats until they interrupt something else.

This week it happened again while I was cleaning up assets for a small internal tool. The images themselves weren’t important — just screenshots and reference photos dropped into a shared folder. The problem was that half of them were .heic.

On my machine, that’s fine. In the repo, not so much.

The scripts that process these files expect PNG or JPEG. The documentation generator we use doesn’t know what to do with HEIC. CI doesn’t care either — it just fails quietly and moves on. None of this is “hard,” but it breaks the flow.

Where this usually shows up

For me, HEIC shows up in a few predictable places:

Screenshots coming from iPhones

Images attached to bug reports or tickets

Docs or READMEs that need quick visuals

Data folders that were never meant to be “image-aware”

In theory, I could fix this properly:

add a conversion step to the pipeline

install system-level tools

write a small script and forget about it

In practice, I don’t want to do any of that for a one-off task.

What I usually need instead

Most of the time, I just need the file converted so I can move on.

No batch processing.
No optimization.
No long-term dependency.

Just:

convert HEIC → PNG

drop it where it belongs

continue working on the actual problem

When that’s the goal, I’ll often use something disposable, like https://heictopng.net
, directly from the browser. I don’t integrate it, I don’t bookmark it as part of the workflow, and I don’t treat it as anything more than a temporary bridge.

Once the image is in a usable format, the tool disappears from the process entirely.

Why I don’t automate this (yet)

If HEIC started showing up every day, I’d automate it properly. But so far, it’s always been situational. A designer sends assets. Someone uploads screenshots from their phone. A doc needs one image, once.

That’s usually not worth designing around.

So for now, this stays in the category of “small annoyances with small, temporary fixes” — the kind you solve quickly and then forget about as soon as your workflow is unblocked.

Top comments (0)