How to convert Byte Array to Image in java?

Java provides ImageIO class for reading and writing an image. To convert a byte array to an image.

  • Create a ByteArrayInputStream object by passing the byte array (that is to be converted) to its constructor.

  • Read the image using the read() method of the ImageIO class (by passing the ByteArrayInputStream objects to it as a parameter).

  • Finally, Write the image to using the write() method of the ImageIo class.


import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
public class ByteArrayToImage {
   public static void main(String args[]) throws Exception {
      BufferedImage bImage = File("sample.jpg"));
      ByteArrayOutputStream bos = new ByteArrayOutputStream();
      ImageIO.write(bImage, "jpg", bos );
      byte [] data = bos.toByteArray();
      ByteArrayInputStream bis = new ByteArrayInputStream(data);
      BufferedImage bImage2 =;
      ImageIO.write(bImage2, "jpg", new File("output.jpg") );
      System.out.println("image created");


image created

Updated on: 30-Jul-2019

17K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started