43

A certain cellphone maker has changed the default format of taking pictures to HEIF (.HEIC, High Efficiency Image File Format), without asking the users (although there is still the option to use jpeg/jpg).

Is there an app/program on Ubuntu that can open and/or convert HEIF-pictures and even let them be edited?

23
sudo apt-get install libheif-examples

And then

for file in *.heic; do heif-convert $file ${file/%.heic/.jpg}; done
23

Official Packages

As of Aug 2019, programs that support HEIF via libheif1 include:

  • GIMP (2.10.2+)
  • Krita
  • heif-thumbnailer
  • libheif-examples – provides command-line utilities: heif-convert and heif-enc.

See How best to search for dependencies?

Unofficial Packages

If one is willing to install a Flatpak, Snap app, or PPA:

  • Geeqie recently had HEIF support added. It may be installed from PPA, until the official packages catch up.

  • Qt image plugin wraps libheif. It was created by jakar, and may be installed from PPA.

Those who do not wish to install a PPA may download the packages directly from the PPA webpages to install (dpkg -i) or recompile. Packages installed this way will not be automatically updated.

Online Tools

  • Google Photos and Dropbox both reportedly support HEIF.

  • There are other online converters (e.g. HEICtoJPEG), but check their privacy policies before use.

Miscellaneous

  • 1
    Not sure what the proper etiquette to mention this is (maybe I should edit instead of comment?), but I created a Qt image plugin that wraps libheif. I would like to create a PPA, but that hasn't happened yet. – jakar Jul 1 '18 at 21:53
  • 2
    The Qt plugin PPA is now up. – jakar Jul 19 '18 at 21:54
14

On Ubuntu 18.04 you can sudo snap install gimp to get the latest version (2.10.10 8 as of May 2019) which can open and edit HEIC files.

On Ubuntu 18.04 there's also a commandline tool to convert HEIC:

sudo apt install libheif-examples
heif-convert IMG_1605.HEIC IMG_1605.jpg

NOTE: you must use lowercase .jpg or it will complain that it doesn't recognise the file format. That message is almost as misleading as the package name, and I can easily understand given these two papercuts why so few people have figured out how to use this tool.

For anyone who doubts that this is an official Ubuntu package:

user@host:~/Desktop$ dpkg -s libheif-examples 
Package: libheif-examples
Status: install ok installed
Priority: optional
Section: video
Installed-Size: 91
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: amd64
Source: libheif
Version: 1.1.0-2
Depends: libheif1 (= 1.1.0-2), libc6 (>= 2.14), libgcc1 (>= 1:3.0), libjpeg8 (>= 8c), libpng16-16 (>= 1.6.2-1), libstdc++6 (>= 5.2)
Description: ISO/IEC 23008-12:2017 HEIF file format decoder - examples
 libheif is an ISO/IEC 23008-12:2017 HEIF file format decoder. HEIF is a new
 image file format employing HEVC (h.265) image coding for the best compression
 ratios currently possible.
 .
 Sample applications using libheif are provided by this package.
Original-Maintainer: Debian Multimedia Maintainers <debian-multimedia@lists.debian.org>
Homepage: http://www.libheif.org

OK so now the punchline of this joke. ;-)

You can use fuseflt or yacufs FUSE filesystems to mount your pictures folder with automated temporary cached conversion of your HEIC files so all the stock Linux desktop apps can open the HEIC files without ever knowing they're doing it.

Mark Deven below says that he only needed to install libheif via aptitude to get these commands, though he didn't mention what distro he's running.

  • After installing these packages, libheif-examples and heif-convert are not found commands. – Mark Deven Feb 13 at 15:17
  • 1
    I got it working using aptitude and installing just libheif – Mark Deven Feb 15 at 21:06
  • 1
    FWIW, Debian 10 (Buster) includes, in its standard repo, the libheif-examples package, which lists the libheif1 package as a dependency. Note that I've not tested said package, as I'm still (sadly) languishing in Debian 7 (Wheezy). – Digger Mar 4 at 16:48
  • Ubuntu 18.04 currently (May 2019) includes GIMP version 2.8.22, not 2.10, so there is no HEIF support in the off-the-shelf version of GIMP in Ubuntu. – Óscar May 21 at 16:55
  • 1
    @Óscar: please read the first line of the post again. snap is off the shelf. gimp comes with snap. 2.10.10 is the current version for 18.04 via snap – Wil May 23 at 17:40
4

GIMP 2.10.2 now reads, writes, and edits .HEIC container files, and ImageMagick will convert from .HEIC image container files.

3

While not really a local conversion, it is possible to view .heic images using Dropbox.

Simply upload the subject images to your Dropbox account, then click on the desired image to view it. You can even right-click on the image to save the .jpeg file back to your local machine in JPEG format. (Note: don't click on the Dropbox's Download button, as that will just get the original .HEIC file.)

  • I voted you up solely because syncing your photos to the cloud is a great idea, keeping them in HEIC format saves space without degrading quality, and being able to access them via a browser means you can access and share them more easily. So it's win win win even if it doesn't really answer the question. – Wil Dec 8 '18 at 13:31
0

This is how I convert .HEIC files into .jpeg.

  1. Download and install tifig package.

    wget https://github.com/monostream/tifig/releases 
    gunzip tifig-static-0.2.2.tar.gz #or the downloaded tifig file name
    
  2. make tifig executable.

    mv ./tifig ~/tools/tifig
    sudo chmod +x  ~/tools/tifig
    
  3. Now you can use tifig to convert your .heic files.

    for f in *.HEIC; do mv "$f" "\`echo $f | sed s/.HEIC/.heic/`"; done
    for file in *.heic; do echo $file | xargs ~/tools/tifig -v -p $file ${file%.heic}.jpg; done
    

References:

protected by Community Nov 15 '17 at 8:59

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.