---
# Enable webp avif and heic/heif support for WordPress

**URL:** https://modul-r.codekraft.it/2022/03/enable-webp-avif-and-heic-heif-support-for-wordpress/
Date: 2022-03-22
Author: Erik
Post Type: post
Summary: if you need only imageMagick and webp support: if you need only imageMagick-7.x and webp, avif and heic support: First of all, you may want to remove the original imagemagick, since there is no need to keep the old bundled version. Install the needed packages many of them are already installed. Ref. https://www.linuxfromscratch.org/blfs/view/svn/general/imagemagick.html Download imageMagick […]
Categories: Blog
---

if you need only **imageMagick **and **webp **support:

```
`sudo apt install imagemagick webp`
```

if you need only **imageMagick-7.x **and **webp, avif and heic** support:

First of all, you may want to remove the original imagemagick, since there is no need to keep the old bundled version.

```
sudo apt remove imagemagick 
sudo apt purge --force 
sudo autoclean && sudo autoremove
```

Install the needed packages many of them are already installed. Ref. [https://www.linuxfromscratch.org/blfs/view/svn/general/imagemagick.html](https://www.linuxfromscratch.org/blfs/view/svn/general/imagemagick.html)

```
`sudo apt-get install autoconf automake autopoint autotools-dev build-essential chrpath cm-super-minimal debhelper dh-autoreconf dh-exec dh-strip-nondeterminism doxygen doxygen-latex dpkg-dev fonts-lmodern g++ g++-7 gcc gcc-7 gir1.2-harfbuzz-0.0 graphviz icu-devtools libann0 libasan4 libatomic1 libbz2-dev libc-dev-bin libc6-dev libcairo-script-interpreter2 libcairo2-dev libcdt5 libcgraph6 libcilkrts5 libclang1-6.0 libdjvulibre-dev libexif-dev libexpat1-dev libfftw3-bin libfftw3-dev libfftw3-long3 libfftw3-quad3 libfile-stripnondeterminism-perl libfontconfig1-dev libfreetype6-dev libgcc-7-dev libgdk-pixbuf2.0-dev libglib2.0-dev libglib2.0-dev-bin libgraphite2-dev libgts-0.7-5 libgvc6 libgvpr2 libharfbuzz-dev libharfbuzz-gobject0 libice-dev libicu-dev libicu-le-hb-dev libicu-le-hb0 libiculx60 libilmbase-dev libitm1 libjbig-dev libjpeg-dev libjpeg-turbo8-dev libjpeg8-dev liblab-gamut1 liblcms2-dev liblqr-1-0-dev liblsan0 libltdl-dev liblzma-dev libmime-charset-perl libmpx2 libopenexr-dev libpango1.0-dev libpathplan4 libpcre16-3 libpcre3-dev libpcre32-3 libpcrecpp0v5 libperl-dev libpixman-1-dev libpng-dev libpotrace0 libptexenc1 libpthread-stubs0-dev libpython-stdlib libquadmath0 librsvg2-bin librsvg2-dev libsigsegv2 libsm-dev libsombok3 libstdc++-7-dev libsynctex1 libtexlua52 libtexluajit2 libtiff-dev libtiff5-dev libtiffxx5 libtool libtool-bin libtsan0 libubsan0 libunicode-linebreak-perl libwmf-dev libx11-dev libxau-dev libxcb-render0-dev libxcb-shm0-dev libxcb1-dev libxdmcp-dev libxext-dev libxft-dev libxml2-dev libxml2-utils libxrender-dev libxt-dev libzzip-0-13 linux-libc-dev m4 make pkg-config pkg-kde-tools po-debconf preview-latex-style python python-minimal python2.7 python2.7-minimal python3-distutils python3-lib2to3 tex-common texlive-base texlive-binaries texlive-extra-utils texlive-font-utils texlive-fonts-recommended texlive-latex-base texlive-latex-extra texlive-latex-recommended texlive-pictures x11proto-core-dev x11proto-dev x11proto-xext-dev xorg-sgml-doctools xsltproc xtrans-dev zlib1g-dev checkinstall libwebp-dev libopenjp2-7-dev librsvg2-dev libde265-dev libheif-dev php7.4-imagick pecl php-pear`
```

Download imageMagick 7.1

```
cd ~
mkdir imageMagick
sudo apt-get install build-essential autoconf git-core
wget http://www.imagemagick.org/download/ImageMagick.tar.gz
tar -xvf ImageMagick.tar.gz -C imageMagick/
```

Build

```
`cd imageMagick/ && sudo ./configure --with-heic=yes --with-webp=yes --with-avif=yes --with-jbig=yes --with-jpeg=yes --with-png=yes --with-xml=yes --with-tiff=yes --with-lcms=yes --with-gslib=yes --with-x=true --with-gslib --enable-shared --disable-static --with-modules`
```

Install

```
cd ~
make
sudo make install
sudo ldconfig /usr/local/lib
```

customize php-imagick

```
wget https://pecl.php.net/get/imagick-3.7.0.tgz
tar xvzf imagick-3.7.0.tgz
cd imagick-3.7.0
phpize
./configure
make install
sudo pecl install imagick
```

Will prompt a question like:
*Please provide the prefix of Imagemagick installation [autodetect] :*

To continue simply press [enter] and the install script will auto-locate the installation imagemagick folder

then to complete the installation enable imagick and restart php / apache

```
sudo phpenmod imagick
sudo service php7.4-fpm restart 
sudo service nginx restart
```

Test the imagemagick capabilities

the imagemagick config `convert -list configure`
enabled encoding types `convert -list delegate`
format list `convert -list format`
convert to webp via commandline`convert abc.jpg abc.webp`
convert to webp lossless via commandline`convert abc.png webp:lossless=true abc.webp`
convert to avif via commandline`convert abc.jpg abc.avif`
convert to heif to jpg via commandline`convert abc.heif abc.jpg`
convert to pdf to jpg via commandline`convert abc.pdf abc.png`

In order to enable avif support for WordPress:

```
add_filter( 'upload_mimes', 'perf_mime_types' );
function perf_mime_types( $mime_types ) {
    $mime_types['avif']  = 'image/avif';
    $mime_types['heic']  = 'image/heic';
    $mime_types['heif']  = 'image/heif';
    $mime_types['avifs'] = 'image/avif-sequence';
    $mime_types['heics'] = 'image/heic-sequence';
    $mime_types['heifs'] = 'image/heif-sequence';

    return $mime_types;
}

add_filter( 'wp_check_filetype_and_ext', 'perf_add_custom_mime', 10, 4 );
function perf_add_custom_mime( $types, $file, $filename, $mimes ) {
    if ( false !== strpos( $filename, '.avif' ) ) {
        $types['ext']  = 'avif';
        $types['type'] = 'image/avif';
    }

    return $types;
}
```

---

## Categories

- Blog

---

## Navigation

- [Home](https://modul-r.codekraft.it/)
- [Theme Setup](https://modul-r.codekraft.it/2019/06/theme-setup/)
- [Environment Setup](https://modul-r.codekraft.it/2019/06/environment-setup/)
- [Functions and Components](https://modul-r.codekraft.it/2019/06/custom-theme-functions/)
- [Classic](https://modul-r.codekraft.it/category/classic/)
- [Shop](https://modul-r.codekraft.it/shop/)
- [Tag /Archive format](https://modul-r.codekraft.it/tag/post-formats/)
- [Modul R](https://wordpress.org/themes/modul-r/)
- [Modul R (git)](https://github.com/erikyo/Modul-R)
- [Modul R Child (git)](https://github.com/erikyo/Modul-R-child)
- [CF7 Antispam](https://wordpress.org/plugins/cf7-antispam/)
- [OH-MY-SVG](https://modul-r.codekraft.it/oh-my-svg/)
- [Model-Viewer WordPress block](https://modul-r.codekraft.it/model-viewer-wordpress-block/)
- [Remove Capslock](https://wordpress.org/plugins/remove-capslock)
- [Blog](https://modul-r.codekraft.it/category/random-access-memories/)
- [Codekraft](https://github.com/codekraft-studio)
- [About Me](https://modul-r.codekraft.it/erik-golinelli/)
- [Contact](https://modul-r.codekraft.it/contacts/)
- [Credits](https://modul-r.codekraft.it/credits/)

---

## Footer Links

- [Theme Setup](https://modul-r.codekraft.it/2019/06/theme-setup/)
- [Functions and Components](https://modul-r.codekraft.it/2019/06/custom-theme-functions/)
- [Environment Setup](https://modul-r.codekraft.it/2019/06/environment-setup/)
- [Download](https://wordpress.org/themes/modul-r/)
- [Contact form 7](https://modul-r.codekraft.it/category/contact-form-7/)
- [Quick Start](https://modul-r.codekraft.it/category/quick-start/)
- [Classic](https://modul-r.codekraft.it/category/classic/)
- [Post Formats](https://modul-r.codekraft.it/category/post-formats/)
- [Block](https://modul-r.codekraft.it/category/block/)
- [Clothing](https://modul-r.codekraft.it/product-category/clothing/)
- [Privacy Policy](https://modul-r.codekraft.it/privacy-policy/)
- [Proudly powered by WordPress & made in Bologna with ♥ by Codekraft](https://codekraft.it/)