Convert JPEG2000 to BMP in Java
JDeli is a pure Java library that converts JPEG2000 to BMP without native dependencies. It accepts File, InputStream, and byte[] input, and supports batch conversion from the command line.
JPEG 2000 is an advanced compression standard offering better quality than standard JPEG at the same file size. Despite its technical advantages, JPEG 2000 has limited support in mainstream browsers and consumer software.
Why use JDeli instead of Java ImageIO
Java’s built-in ImageIO cannot read JPEG2000. JDeli provides a pure Java decoder with no native dependencies required.
To run the code examples you will need to download the JDeli jar:
Convert JPEG2000 to BMP in one line of code
The JDeli.convert() methods allow you to save JPEG2000 as BMP 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, "bmp");
JDeli.convert(InputStream inputStream, EncoderOptions encoderOptions, OutputStream outputStream);
JDeli.convert(InputStream inputStream, OutputStream outputStream, ImageProcessingOps imageProcessingOps);
Using byte[]
byte[] outputData = JDeli.convert(byte[] inputData, "bmp");
byte[] outputData = JDeli.convert(byte[] inputData, EncoderOptions encoderOptions);
byte[] outputData = JDeli.convert(byte[] inputData, "bmp", ImageProcessingOps imageProcessingOps);
Batch convert JPEG2000 to BMP 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 bmp "inputFileOrDir" "outputDir"
How to convert from JPEG2000 into BMP 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 JPEG2000 image into Java
BufferedImage bufferedImage = JDeli.read(new File("jpxImageFile.jpx")); - Process image if needed (scale, sharpen, lighten, watermark, etc)
bufferedImage = operations.apply(BufferedImage bufferedImage); // Optional - Write out BufferedImage as BMP image file
JDeli.write(bufferedImage, "bmp", new File("bmpImageFile.bmp"));
Frequently asked questions
Does Java support JPEG2000 natively?
No. ImageIO cannot read JPEG2000. JDeli provides a pure Java decoder with no native dependencies required.
Can I convert JPEG2000 to BMP without installing native libraries?
Yes. JDeli is a pure Java library. It runs on any platform where the JVM runs with no additional installation.
What input types does JDeli accept for JPEG2000 conversion?
JDeli accepts File, InputStream, and byte[] as input. Output can be written to a File, OutputStream, or returned as byte[].
Can I process the image during conversion?
Yes. All JDeli.convert() variants accept an ImageProcessingOps parameter, so you can scale, sharpen, watermark, and apply other operations in the same step. The two-step read/write approach also supports this if you need more control.
Which Java library supports JPEG2000 to BMP conversion without native dependencies?
JDeli. It is a pure Java library with no JNI, no native binaries, and no system library requirements. It runs on any standard JVM, including containerised and air-gapped deployments.
Related conversions
See the JDeli conversion overview for a full list of supported format conversions.