How to Get Base64 from Image URL in Javascript

Base64 encoding is a technique that converts any binary data to a string of characters. It is commonly used to represent data that needs to be transmitted over channels that do not support binary data, such as email attachments or HTTP requests. In this tutorial, we will explore how to get Base64 from an image URL in JavaScript.

To get the Base64 representation of an image from a URL, we first need to retrieve the image data. We can do this by creating an HTML Image object and setting the source of the image to the URL we want to retrieve:

let img = new Image();
img.src = 'https://example.com/image.jpg';

Once we have created the Image object and set the source, we can wait for the image to load by adding an onload event listener to the object. This ensures that the image data is available before we try to use it:

let img = new Image();
img.onload = function() {
  // Image data is now available
};
img.src = 'https://example.com/image.jpg';

Now that we have the image data, we can convert it to Base64 using the canvas element. We can create a new canvas element and draw the image onto it, then use the canvas method toDataURL() to get the Base64 representation:

let img = new Image();
img.onload = function() {
  let canvas = document.createElement('canvas');
  canvas.width = img.width;
  canvas.height = img.height;

  let context = canvas.getContext('2d');
  context.drawImage(img, 0, 0);

  let base64 = canvas.toDataURL();
  console.log(base64);
};
img.src = 'https://example.com/image.jpg';

In this code, we create a new canvas element with the same dimensions as the image, then draw the image onto the canvas using the drawImage() method of the 2D context. Finally, we call the toDataURL() method of the canvas to get the Base64 representation of the image.

In this tutorial, we explored how to get Base64 from an image URL in JavaScript. We used the HTML Image object to retrieve the image data and the canvas element to convert it to Base64. By following these steps, you can easily get the Base64 representation of an image from a URL in your JavaScript applications.