Convert WebP to AVIF in Java
TL;DR Convert WEBP to AVIF natively in Java with a single line of code using JDeli. Supports File, InputStream, byte[] and batch command-line conversion. Free trial.
The JDeli Java image conversion library provides native WEBP support which makes it very easy to convert WEBP to AVIF image files in Java and other languages/scripts.
To run the code examples you will need to download the JDeli jar:
Convert WEBP to AVIF in one line of code
The JDeli.convert() methods allow you to save WEBP as AVIF in just ONE line of code!
Using File
JDeli.convert(File inFile, File outFile);
JDeli.convert(File inFile, EncoderOptions encoderOptions, File outfile);
JDeli.convert(File inFile, File outfile, ImageProcessingOps imageProcessingOps);
Using InputStream and OutputStream
JDeli.convert(InputStream inputStream, OutputStream outputStream, "avif");
JDeli.convert(InputStream inputStream, EncoderOptions encoderOptions, OutputStream outputStream);
JDeli.convert(InputStream inputStream, OutputStream outputStream, ImageProcessingOps imageProcessingOps);
Using byte[]
byte[] outputData = JDeli.convert(byte[] inputData, "avif");
byte[] outputData = JDeli.convert(byte[] inputData, EncoderOptions encoderOptions);
byte[] outputData = JDeli.convert(byte[] inputData, "avif", ImageProcessingOps imageProcessingOps);
Batch convert WEBP to AVIF from command line
Change image formats from command line or bash, bat, and powershell scripts. This method can also be used to invoke JDeli from any programming language that allows you to create a child process.
java -jar jdeli.jar --convert avif "inputFileOrDir" "outputDir"
How to convert from WEBP into AVIF in Java as separate steps
Sometimes there is a requirement to convert between formats as separate steps. JDeli also allows the image to be read in as a BufferedImage and then written out later.
- Read WEBP image into Java
BufferedImage bufferedImage = JDeli.read(new File("webpImageFile.webp")); - Process image if needed (scale, sharpen, lighten, watermark, etc)
bufferedImage = operations.apply(BufferedImage bufferedImage); // Optional - Write out BufferedImage as AVIF image file
JDeli.write(bufferedImage, "avif", new File("avifImageFile.avif"));