🔐
← āļāļĨāļąāļšāđ„āļ›āļ„āļđāđˆāļĄāļ·āļ­

āļ§āļīāļ˜āļĩāļāļēāļĢāđāļ›āļĨāļ‡āļĢāļđāļ›āļ āļēāļžāđ€āļ›āđ‡āļ™ Base64 Data URL

· āđāļ—āđ‡āļ: image-to-base64, base64, data-url, image-embedding, web-performance, html, css

Base64 Image Data URL āļ„āļ·āļ­āļ­āļ°āđ„āļĢ?

Base64 image data URL āļāļąāļ‡āđ„āļŸāļĨāđŒāļĢāļđāļ›āļ āļēāļžāļ—āļąāđ‰āļ‡āļŦāļĄāļ”āđ‚āļ”āļĒāļ•āļĢāļ‡āđƒāļ™āđ€āļ­āļāļŠāļēāļĢāđ€āļ§āđ‡āļšāđ€āļ›āđ‡āļ™āļŠāļ•āļĢāļīāļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄ āļ‚āļˆāļąāļ”āļ„āļ§āļēāļĄāļˆāļģāđ€āļ›āđ‡āļ™āđƒāļ™āļāļēāļĢāļĢāđ‰āļ­āļ‡āļ‚āļ­ HTTP āđāļĒāļāļ•āđˆāļēāļ‡āļŦāļēāļāđ€āļžāļ·āđˆāļ­āđ‚āļŦāļĨāļ”āļĢāļđāļ›āļ āļēāļž āđāļ—āļ™āļ—āļĩāđˆāđ€āļšāļĢāļēāļ§āđŒāđ€āļ‹āļ­āļĢāđŒāļˆāļ°āļ”āļķāļ‡āđ„āļŸāļĨāđŒāļ āļēāļĒāļ™āļ­āļ āļ‚āđ‰āļ­āļĄāļđāļĨāļĢāļđāļ›āļ āļēāļžāļāđ‡āļĄāļĩāļ­āļĒāļđāđˆāđāļĨāđ‰āļ§āđƒāļ™ HTML āļŦāļĢāļ·āļ­ CSS

āļĢāļđāļ›āđāļšāļšāļĄāļĩāļĨāļąāļāļĐāļ“āļ°āļ”āļąāļ‡āļ™āļĩāđ‰:

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==

āđāļĒāļāļŠāđˆāļ§āļ™āļ›āļĢāļ°āļāļ­āļš:

  • data: — āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē data URI scheme
  • image/png — MIME type āļ‚āļ­āļ‡āļĢāļđāļ›āļ āļēāļžāļ—āļĩāđˆāļāļąāļ‡
  • ;base64 — āļĢāļ°āļšāļļāļāļēāļĢāđ€āļ‚āđ‰āļēāļĢāļŦāļąāļŠ Base64
  • ,iVBORw0... — āļ‚āđ‰āļ­āļĄāļđāļĨāļĢāļđāļ›āļ āļēāļžāļ—āļĩāđˆāđ€āļ‚āđ‰āļēāļĢāļŦāļąāļŠ Base64 āļˆāļĢāļīāļ‡

āļ—āļģāđ„āļĄāļ•āđ‰āļ­āļ‡āđāļ›āļĨāļ‡āļĢāļđāļ›āļ āļēāļžāđ€āļ›āđ‡āļ™ Base64?

āļāļēāļĢāļāļąāļ‡āļĢāļđāļ›āļ āļēāļžāđ€āļ›āđ‡āļ™ Base64 āļĄāļĩāļ›āļĢāļ°āđ‚āļĒāļŠāļ™āđŒāđƒāļ™āļŦāļĨāļēāļĒāļŠāļ–āļēāļ™āļāļēāļĢāļ“āđŒ:

āļĨāļ”āļˆāļģāļ™āļ§āļ™ HTTP Requests

āđ„āļŸāļĨāđŒāļĢāļđāļ›āļ āļēāļžāļ āļēāļĒāļ™āļ­āļāđāļ•āđˆāļĨāļ°āđ„āļŸāļĨāđŒāļ•āđ‰āļ­āļ‡āļāļēāļĢ HTTP request āđāļĒāļāļ•āđˆāļēāļ‡āļŦāļēāļ Base64 data URL āļ‚āļˆāļąāļ” requests āđ€āļŦāļĨāđˆāļēāļ™āļĩāđ‰ āļ‹āļķāđˆāļ‡āļŠāļēāļĄāļēāļĢāļ–āļ›āļĢāļąāļšāļ›āļĢāļļāļ‡āđ€āļ§āļĨāļēāđƒāļ™āļāļēāļĢāđ‚āļŦāļĨāļ”āļŦāļ™āđ‰āļēāđ€āļ§āđ‡āļš â€” āđ‚āļ”āļĒāđ€āļ‰āļžāļēāļ°āļšāļ™āļāļēāļĢāđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­āļ—āļĩāđˆāļĄāļĩāļ„āļ§āļēāļĄāļŦāļ™āđˆāļ§āļ‡āļŠāļđāļ‡āļŦāļĢāļ·āļ­āļŠāļģāļŦāļĢāļąāļšāļŦāļ™āđ‰āļēāļ—āļĩāđˆāļĄāļĩ assets āļ‚āļ™āļēāļ”āđ€āļĨāđ‡āļāļˆāļģāļ™āļ§āļ™āļĄāļēāļ

āđ€āļ­āļāļŠāļēāļĢāļ—āļĩāđˆāļŠāļĄāļšāļđāļĢāļ“āđŒāđƒāļ™āļ•āļąāļ§āđ€āļ­āļ‡

āļĢāļđāļ›āļ āļēāļž Base64 āļ—āļģāđƒāļŦāđ‰āđ„āļŸāļĨāđŒ HTML āļ‚āļ­āļ‡āļ„āļļāļ“āļžāļāļžāļēāđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļŠāļĄāļšāļđāļĢāļ“āđŒ āđ€āļ—āļĄāđ€āļžāļĨāļ•āļ­āļĩāđ€āļĄāļĨāļ—āļĩāđˆāļĄāļĩāļĢāļđāļ›āļ āļēāļž Base64 āļ—āļģāļ‡āļēāļ™āđ„āļ”āđ‰āđāļĄāđ‰āđ€āļĄāļ·āđˆāļ­āđ‚āļ›āļĢāđāļāļĢāļĄāļĢāļąāļšāļŠāđˆāļ‡āļ­āļĩāđ€āļĄāļĨāļ‚āļ­āļ‡āļœāļđāđ‰āļĢāļąāļšāļšāļĨāđ‡āļ­āļāļ—āļĢāļąāļžāļĒāļēāļāļĢāļ āļēāļĒāļ™āļ­āļ āđƒāļ™āļ—āļģāļ™āļ­āļ‡āđ€āļ”āļĩāļĒāļ§āļāļąāļ™ āđ€āļ­āļāļŠāļēāļĢ HTML āļ—āļĩāđˆāļĄāļĩāļĢāļđāļ›āļ āļēāļžāļāļąāļ‡āļ­āļĒāļđāđˆāļŠāļēāļĄāļēāļĢāļ–āđāļŠāļĢāđŒāđ€āļ›āđ‡āļ™āđ„āļŸāļĨāđŒāđ€āļ”āļĩāļĒāļ§āđ‚āļ”āļĒāđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āļāļąāļ‡āļ§āļĨāđ€āļāļĩāđˆāļĒāļ§āļāļąāļšāđ€āļŠāđ‰āļ™āļ—āļēāļ‡āļĢāļđāļ›āļ āļēāļžāļ—āļĩāđˆāđ€āļŠāļĩāļĒāļŦāļēāļĒ

āļŦāļ™āđ‰āļēāļ—āļĩāđˆāđ€āļ™āđ‰āļ™āļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž

āļŠāļģāļŦāļĢāļąāļšāļĢāļđāļ›āļ āļēāļž hero āļ—āļĩāđˆāļ­āļĒāļđāđˆāļŠāđˆāļ§āļ™āļšāļ™āļ‚āļ­āļ‡āļŦāļ™āđ‰āļē (above-the-fold) āđāļĨāļ°āļ­āļ‡āļ„āđŒāļ›āļĢāļ°āļāļ­āļš UI āļ—āļĩāđˆāļŠāļģāļ„āļąāļ āļāļēāļĢāļ‚āļˆāļąāļ”āļāļēāļĢāđ€āļ”āļīāļ™āļ—āļēāļ‡āđ„āļ›-āļāļĨāļąāļšāđ€āļžāļīāđˆāļĄāđ€āļ•āļīāļĄāļŠāļēāļĄāļēāļĢāļ–āļ›āļĢāļąāļšāļ›āļĢāļļāļ‡āđ€āļĄāļ•āļĢāļīāļāļ­āļĒāđˆāļēāļ‡ Largest Contentful Paint (LCP) āļ­āļĒāđˆāļēāļ‡āđ„āļĢāļāđ‡āļ•āļēāļĄ āļŠāļīāđˆāļ‡āļ™āļĩāđ‰āļĄāļĩāļ›āļĢāļ°āđ‚āļĒāļŠāļ™āđŒāđ€āļ‰āļžāļēāļ°āļāļąāļšāļĢāļđāļ›āļ āļēāļžāļ‚āļ™āļēāļ”āđ€āļĨāđ‡āļ â€” āļŠāļģāļŦāļĢāļąāļšāļĢāļđāļ›āļ āļēāļžāļ‚āļ™āļēāļ”āđƒāļŦāļāđˆ āļāļēāļĢāļāļąāļ‡āļĢāļđāļ›āļ āļēāļžāļāļĨāļąāļšāļŠāđˆāļ‡āļœāļĨāđ€āļŠāļĩāļĒ

āļ—āļģāļ‡āļēāļ™āđāļšāļšāļ­āļ­āļŸāđ„āļĨāļ™āđŒ

āđ€āļĄāļ·āđˆāļ­āļĢāļđāļ›āļ āļēāļžāļ–āļđāļāļāļąāļ‡āđ€āļ›āđ‡āļ™ data URL āļĄāļąāļ™āļ—āļģāļ‡āļēāļ™āđ„āļ”āđ‰āđ‚āļ”āļĒāđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­āđ€āļ„āļĢāļ·āļ­āļ‚āđˆāļēāļĒ āļŠāļīāđˆāļ‡āļ™āļĩāđ‰āļĄāļĩāļ„āļļāļ“āļ„āđˆāļēāļŠāļģāļŦāļĢāļąāļšāđ€āļ§āđ‡āļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ­āļ­āļŸāđ„āļĨāļ™āđŒāđāļĨāļ° Progressive Web Apps (PWAs)

āļ§āļīāļ˜āļĩāļāļēāļĢāđāļ›āļĨāļ‡āļĢāļđāļ›āļ āļēāļžāđ€āļ›āđ‡āļ™ Base64

āļ§āļīāļ˜āļĩāļ—āļĩāđˆ 1: āđƒāļŠāđ‰āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ­āļ­āļ™āđ„āļĨāļ™āđŒ (āļ‡āđˆāļēāļĒāļ—āļĩāđˆāļŠāļļāļ”)

āļ§āļīāļ˜āļĩāļ—āļĩāđˆāđ€āļĢāđ‡āļ§āļ—āļĩāđˆāļŠāļļāļ”āđƒāļ™āļāļēāļĢāđāļ›āļĨāļ‡āļĢāļđāļ›āļ āļēāļžāđ€āļ›āđ‡āļ™ Base64 āļ„āļ·āļ­āļāļēāļĢāđƒāļŠāđ‰āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ­āļ­āļ™āđ„āļĨāļ™āđŒāđ€āļ‰āļžāļēāļ°āļ—āļēāļ‡ āļ­āļąāļ›āđ‚āļŦāļĨāļ”āļŦāļĢāļ·āļ­āļĨāļēāļāđāļĨāļ°āļ§āļēāļ‡āļĢāļđāļ›āļ āļēāļžāļ‚āļ­āļ‡āļ„āļļāļ“āļĨāļ‡āđƒāļ™ āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āđ€āļ‚āđ‰āļēāļĢāļŦāļąāļŠ Base64 āļ­āļ­āļ™āđ„āļĨāļ™āđŒāļŸāļĢāļĩ āđāļĨāđ‰āļ§āļ„āļļāļ“āļˆāļ°āđ„āļ”āđ‰āļĢāļąāļš data URL āļ—āļĩāđˆāļŠāļĄāļšāļđāļĢāļ“āđŒāļžāļĢāđ‰āļ­āļĄāđƒāļŠāđ‰āļ‡āļēāļ™āđƒāļ™āđ‚āļ„āđ‰āļ”āļ‚āļ­āļ‡āļ„āļļāļ“

āļ§āļīāļ˜āļĩāļ—āļĩāđˆ 2: āđƒāļŠāđ‰ JavaScript āđƒāļ™āđ€āļšāļĢāļēāļ§āđŒāđ€āļ‹āļ­āļĢāđŒ

FileReader API āđƒāļŦāđ‰āļ§āļīāļ˜āļĩāļāļēāļĢāļ—āļĩāđˆāļ•āļĢāļ‡āđ„āļ›āļ•āļĢāļ‡āļĄāļēāđƒāļ™āļāļēāļĢāđāļ›āļĨāļ‡āļĢāļđāļ›āļ āļēāļžāļ—āļĩāđˆāļœāļđāđ‰āđƒāļŠāđ‰āđ€āļĨāļ·āļ­āļāđ€āļ›āđ‡āļ™ Base64:

function imageToBase64(file) {
  return new Promise((resolve, reject) => {
    const reader = new FileReader();
    reader.onload = () => resolve(reader.result);
    reader.onerror = () => reject(new Error('Failed to read file'));
    reader.readAsDataURL(file);
  });
}

// Usage with a file input
document.getElementById('imageInput').addEventListener('change', async (event) => {
  const file = event.target.files[0];
  if (!file) return;

  const dataUrl = await imageToBase64(file);
  console.log(dataUrl);
  // Output: data:image/jpeg;base64,/9j/4AAQ...
});

āļ§āļīāļ˜āļĩāļ—āļĩāđˆ 3: āđƒāļŠāđ‰ Canvas API

āļŦāļēāļāļ„āļļāļ“āļ•āđ‰āļ­āļ‡āļāļēāļĢāļ›āļĢāļąāļšāļ‚āļ™āļēāļ” āļ„āļĢāļ­āļšāļ•āļąāļ” āļŦāļĢāļ·āļ­āļšāļĩāļšāļ­āļąāļ”āļĢāļđāļ›āļ āļēāļžāļāđˆāļ­āļ™āđāļ›āļĨāļ‡āđ€āļ›āđ‡āļ™ Base64 Canvas API āļ„āļ·āļ­āļ—āļēāļ‡āđ€āļĨāļ·āļ­āļāļ—āļĩāđˆāđ€āļŦāļĄāļēāļ°āļŠāļĄ:

function canvasToBase64(canvas, format = 'image/webp', quality = 0.8) {
  return canvas.toDataURL(format, quality);
}

// Example: Resize an image before converting
async function resizeImageToBase64(file, maxWidth = 800) {
  const bitmap = await createImageBitmap(file);
  const canvas = document.createElement('canvas');
  const ratio = Math.min(maxWidth / bitmap.width, 1);
  canvas.width = bitmap.width * ratio;
  canvas.height = bitmap.height * ratio;
  const ctx = canvas.getContext('2d');
  ctx.drawImage(bitmap, 0, 0, canvas.width, canvas.height);
  return canvas.toBase64('image/jpeg', 0.85);
}

āļ§āļīāļ˜āļĩāļ—āļĩāđˆ 4: āđƒāļŠāđ‰ Node.js

āļ—āļēāļ‡āļāļąāđˆāļ‡āđ€āļ‹āļīāļĢāđŒāļŸāđ€āļ§āļ­āļĢāđŒ āđƒāļŠāđ‰āđ‚āļĄāļ”āļđāļĨ fs āļāļąāļš Buffer āđ€āļžāļ·āđˆāļ­āđāļ›āļĨāļ‡āđ„āļŸāļĨāđŒāļĢāļđāļ›āļ āļēāļžāđ€āļ›āđ‡āļ™ Base64:

const fs = require('fs');
const path = require('path');

function encodeImageToBase64(filePath) {
  const buffer = fs.readFileSync(filePath);
  const base64 = buffer.toString('base64');

  // Detect MIME type from extension
  const ext = path.extname(filePath).toLowerCase();
  const mimeTypes = {
    '.png': 'image/png',
    '.jpg': 'image/jpeg',
    '.jpeg': 'image/jpeg',
    '.gif': 'image/gif',
    '.webp': 'image/webp',
    '.svg': 'image/svg+xml',
    '.ico': 'image/x-icon',
  };
  const mimeType = mimeTypes[ext] || 'image/png';

  return `data:${mimeType};base64,${base64}`;
}

const dataUrl = encodeImageToBase64('logo.png');
console.log(dataUrl);

āļ§āļīāļ˜āļĩāļ—āļĩāđˆ 5: āđƒāļŠāđ‰ Command Line

āļšāļ™ Linux āđāļĨāļ° macOS āļ„āļļāļ“āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡ base64 āđƒāļ™āļ•āļąāļ§:

# Encode to Base64 and wrap as a data URL
echo "data:image/png;base64,$(base64 -w 0 image.png)"

āļ§āļīāļ˜āļĩāđƒāļŠāđ‰āļĢāļđāļ›āļ āļēāļž Base64 āđƒāļ™ HTML

āđ‚āļ”āļĒāļ•āļĢāļ‡āđƒāļ™āđāļ—āđ‡āļ <img>:

<img
  src="data:image/webp;base64,UklGRpYCAABXRUJQVlA4WAoAAAA..."
  alt="Inline Logo"
  width="200"
  height="100"
/>

āļ§āļīāļ˜āļĩāđƒāļŠāđ‰āļĢāļđāļ›āļ āļēāļž Base64 āđƒāļ™ CSS

āđ€āļ›āđ‡āļ™āļ āļēāļžāļžāļ·āđ‰āļ™āļŦāļĨāļąāļ‡:

.icon-warning {
  background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjEwIi8+PGxpbmUgeDE9IjEyIiB5MT0iMTYiIHgyPSIxMiIgeTI9IjEyIi8+PGxpbmUgeDE9IjEyIiB5MT0iOCIgeDI9IjEyLjAxIiB5Mj0iOCIvPjwvc3ZnPg==');
  width: 24px;
  height: 24px;
}

āļ‚āđ‰āļ­āļ„āļ§āļĢāļžāļīāļˆāļēāļĢāļ“āļēāļ”āđ‰āļēāļ™āļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāđāļĨāļ°āđāļ™āļ§āļ—āļēāļ‡āļ›āļāļīāļšāļąāļ•āļīāļ—āļĩāđˆāļ”āļĩāļ—āļĩāđˆāļŠāļļāļ”

āđ€āļĄāļ·āđˆāļ­āļĢāļđāļ›āļ āļēāļž Base64 āļĄāļĩāļ›āļĢāļ°āđ‚āļĒāļŠāļ™āđŒ

  • āđ„āļ­āļ„āļ­āļ™āļ‚āļ™āļēāļ”āđ€āļĨāđ‡āļāđāļĨāļ°āļ­āļ‡āļ„āđŒāļ›āļĢāļ°āļāļ­āļš UI āļ—āļĩāđˆāļ•āđˆāļģāļāļ§āđˆāļē 10 KB
  • āļĢāļđāļ›āļ āļēāļž above-the-fold āļ—āļĩāđˆāļŠāļģāļ„āļąāļ āļ—āļĩāđˆāļ‚āļąāļ”āļ‚āļ§āļēāļ‡āļāļēāļĢāđāļŠāļ”āļ‡āļœāļĨ
  • Sprites āđāļĨāļ°āđ„āļ­āļ„āļ­āļ™ SVG āļ—āļĩāđˆāđƒāļŠāđ‰āļ—āļąāđˆāļ§āļ—āļąāđ‰āļ‡āļŦāļ™āđ‰āļē
  • āđ€āļ—āļĄāđ€āļžāļĨāļ•āļ­āļĩāđ€āļĄāļĨ āļ—āļĩāđˆāļĢāļđāļ›āļ āļēāļžāļ āļēāļĒāļ™āļ­āļāļĄāļąāļāļ–āļđāļāļšāļĨāđ‡āļ­āļ
  • āđ€āļ§āđ‡āļšāđāļ­āļ›āļ­āļ­āļŸāđ„āļĨāļ™āđŒ āđāļĨāļ°āđ€āļ­āļāļŠāļēāļĢāļ—āļĩāđˆāļŠāļĄāļšāļđāļĢāļ“āđŒāđƒāļ™āļ•āļąāļ§āđ€āļ­āļ‡

āđ€āļĄāļ·āđˆāļ­āļĢāļđāļ›āļ āļēāļž Base64 āļŠāđˆāļ‡āļœāļĨāđ€āļŠāļĩāļĒ

  • āļĢāļđāļ›āļ āļēāļžāļ‚āļ™āļēāļ”āđƒāļŦāļāđˆāļŦāļĢāļ·āļ­āļ„āļ§āļēāļĄāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļŠāļđāļ‡ (100 KB+) — āļ„āđˆāļēāđƒāļŠāđ‰āļˆāđˆāļēāļĒāļ‚āļ­āļ‡ Base64 āđāļĨāļ°āļ„āļ§āļēāļĄāļĨāđˆāļēāļŠāđ‰āļēāđƒāļ™āļāļēāļĢ parse āļŠāđˆāļ‡āļœāļĨāđ€āļŠāļĩāļĒāļ•āđˆāļ­āļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž
  • āļĢāļđāļ›āļ āļēāļžāļ—āļĩāđˆāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡āļšāđˆāļ­āļĒ â€” āļāļēāļĢāļ—āļģāđƒāļŦāđ‰āđāļ„āļŠāđ€āļšāļĢāļēāļ§āđŒāđ€āļ‹āļ­āļĢāđŒāļ‚āļ­āļ‡ payload HTML āļ‚āļ™āļēāļ”āđƒāļŦāļāđˆāđƒāļŠāđ‰āđ„āļĄāđˆāđ„āļ”āđ‰āđ€āļ›āđ‡āļ™āļāļēāļĢāļŠāļīāđ‰āļ™āđ€āļ›āļĨāļ·āļ­āļ‡
  • āļĢāļđāļ›āļ āļēāļžāļ—āļĩāđˆāđāļŠāļĢāđŒāļ‚āđ‰āļēāļĄāļŦāļĨāļēāļĒāļŦāļ™āđ‰āļē — āđ„āļŸāļĨāđŒāļ āļēāļĒāļ™āļ­āļāđ„āļ”āđ‰āļ›āļĢāļ°āđ‚āļĒāļŠāļ™āđŒāļˆāļēāļāļāļēāļĢāđāļ„āļŠāļĢāđˆāļ§āļĄāļāļąāļ™āļ‚āļ­āļ‡āđ€āļšāļĢāļēāļ§āđŒāđ€āļ‹āļ­āļĢāđŒ
  • āļĢāļđāļ›āļ āļēāļžāļ—āļĩāđˆāđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢāļœāđˆāļēāļ™ CDN — CDN āļ›āļĢāļąāļšāļāļēāļĢāļŠāđˆāļ‡āđ„āļŸāļĨāđŒāđƒāļŦāđ‰āđ€āļŦāļĄāļēāļ°āļŠāļĄāļāļ§āđˆāļēāļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāļāļąāļ‡āđ„āļ§āđ‰

āļāļŽāļ—āļąāđˆāļ§āđ„āļ› 10 KB

āđāļ™āļ§āļ—āļēāļ‡āļ—āļĩāđˆāļ–āļđāļāļ­āđ‰āļēāļ‡āļ–āļķāļ‡āļ­āļĒāđˆāļēāļ‡āļāļ§āđ‰āļēāļ‡āļ‚āļ§āļēāļ‡: āļŦāļēāļāļĢāļđāļ›āļ āļēāļžāļĄāļĩāļ‚āļ™āļēāļ”āļ•āđˆāļģāļāļ§āđˆāļē 10 KB āđƒāļŦāđ‰āļžāļīāļˆāļēāļĢāļ“āļēāļāļąāļ‡āđ€āļ›āđ‡āļ™ Base64 āļŦāļēāļāđƒāļŦāļāđˆāļāļ§āđˆāļēāļ™āļąāđ‰āļ™ āđƒāļŦāđ‰āđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢāđ€āļ›āđ‡āļ™āđ„āļŸāļĨāđŒāđāļĒāļāļ•āđˆāļēāļ‡āļŦāļēāļ āļ™āļĩāđˆāđ€āļ›āđ‡āļ™āļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āļŠāļĄāļ”āļļāļĨāļĢāļ°āļŦāļ§āđˆāļēāļ‡āļ„āđˆāļēāđƒāļŠāđ‰āļˆāđˆāļēāļĒāļ‚āļ­āļ‡ HTTP requests āļāļąāļšāļ„āđˆāļēāđƒāļŠāđ‰āļˆāđˆāļēāļĒāļ‚āļ­āļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāđ€āļ‚āđ‰āļēāļĢāļŦāļąāļŠ Base64 āđƒāļ™ HTML āļ‚āļ­āļ‡āļ„āļļāļ“

āļ­āļĒāđˆāļēāļ‡āđ„āļĢāļāđ‡āļ•āļēāļĄ āđ€āļāļ“āļ‘āđŒāļ—āļĩāđˆāđ€āļŦāļĄāļēāļ°āļŠāļĄāļ‚āļķāđ‰āļ™āļ­āļĒāļđāđˆāļāļąāļšāļŠāļ–āļēāļ™āļāļēāļĢāļ“āđŒāđ€āļ‰āļžāļēāļ°āļ‚āļ­āļ‡āļ„āļļāļ“:

  • HTTP/2 multiplexing āļĨāļ”āļœāļĨāđ€āļŠāļĩāļĒāļ‚āļ­āļ‡ requests āļŦāļĨāļēāļĒāļĢāļēāļĒāļāļēāļĢ āļ—āļģāđƒāļŦāđ‰āđ„āļŸāļĨāđŒāļ āļēāļĒāļ™āļ­āļāļ™āđˆāļēāļŠāļ™āđƒāļˆāļĄāļēāļāļ‚āļķāđ‰āļ™
  • āļšāļ™āļāļēāļĢāđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­āļ—āļĩāđˆāļŠāđ‰āļē āļāļēāļĢāļ‚āļˆāļąāļ” requests āļ­āļēāļˆāļĄāļĩāļ„āļļāļ“āļ„āđˆāļēāđāļĄāđ‰āļŠāļģāļŦāļĢāļąāļšāļĢāļđāļ›āļ āļēāļžāļ—āļĩāđˆāđƒāļŦāļāđˆāļāļ§āđˆāļē
  • āļŠāļģāļŦāļĢāļąāļšāļ—āļĢāļąāļžāļĒāļēāļāļĢāđƒāļ™ critical rendering path āđƒāļŦāđ‰āļāļąāļ‡āđāļĄāđ‰āđāļ•āđˆāļĢāļđāļ›āļ āļēāļžāļ—āļĩāđˆāđƒāļŦāļāđˆāļāļ§āđˆāļēāļŦāļēāļāļĄāļąāļ™āļŦāļĄāļēāļĒāļ–āļķāļ‡āļāļēāļĢāđ€āļ”āļīāļ™āļ—āļēāļ‡āđ„āļ›-āļāļĨāļąāļšāļ™āđ‰āļ­āļĒāļĨāļ‡āļŦāļ™āļķāđˆāļ‡āļ„āļĢāļąāđ‰āļ‡

āļ‚āđ‰āļ­āļ„āļ§āļĢāļžāļīāļˆāļēāļĢāļ“āļēāđ€āļāļĩāđˆāļĒāļ§āļāļąāļšāļāļēāļĢāļšāļĩāļšāļ­āļąāļ”

āļŦāļēāļāļ„āļļāļ“āļāļģāļĨāļąāļ‡āđāļ›āļĨāļ‡āļĢāļđāļ›āļ āļēāļž JPEG āļŦāļĢāļ·āļ­ PNG āđ€āļ›āđ‡āļ™ Base64 āđƒāļŦāđ‰āļžāļīāļˆāļēāļĢāļ“āļēāđƒāļŠāđ‰ WebP āđāļ—āļ™ WebP āđƒāļŦāđ‰āļāļēāļĢāļšāļĩāļšāļ­āļąāļ”āļ—āļĩāđˆāđ€āļŦāļ™āļ·āļ­āļāļ§āđˆāļēāđƒāļ™āļĢāļ°āļ”āļąāļšāļ„āļļāļ“āļ āļēāļžāđ€āļ”āļĩāļĒāļ§āļāļąāļ™ āļŠāđˆāļ‡āļœāļĨāđƒāļŦāđ‰āļŠāļ•āļĢāļīāļ‡ Base64 āļĄāļĩāļ‚āļ™āļēāļ”āđ€āļĨāđ‡āļāļĨāļ‡ āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ­āļ­āļ™āđ„āļĨāļ™āđŒāļˆāļģāļ™āļ§āļ™āļĄāļēāļāđƒāļŦāđ‰āļ„āļļāļ“āđ€āļ‚āđ‰āļēāļĢāļŦāļąāļŠāļĢāļđāļ›āļ āļēāļžāđƒāļŦāļĄāđˆāļāđˆāļ­āļ™āđāļ›āļĨāļ‡āđ€āļ›āđ‡āļ™ Base64

āđāļ›āļĨāļ‡āļĢāļđāļ›āļ āļēāļžāļ‚āļ­āļ‡āļ„āļļāļ“āđ€āļ›āđ‡āļ™ Base64

āļžāļĢāđ‰āļ­āļĄāļ—āļĩāđˆāļˆāļ°āļāļąāļ‡āļĢāļđāļ›āļ āļēāļžāđ‚āļ”āļĒāļ•āļĢāļ‡āđƒāļ™āđ‚āļ„āđ‰āļ”āļ‚āļ­āļ‡āļ„āļļāļ“āļŦāļĢāļ·āļ­āļĒāļąāļ‡? āđƒāļŠāđ‰ āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āđ€āļ‚āđ‰āļēāļĢāļŦāļąāļŠāđāļĨāļ°āļ–āļ­āļ”āļĢāļŦāļąāļŠ Base64 āļ­āļ­āļ™āđ„āļĨāļ™āđŒāļŸāļĢāļĩ āđ€āļžāļ·āđˆāļ­āļ­āļąāļ›āđ‚āļŦāļĨāļ”āļĢāļđāļ›āļ āļēāļžāđāļĨāļ°āļĢāļąāļš data URL āļ—āļĩāđˆāļŠāļĄāļšāļđāļĢāļ“āđŒāļŠāļģāļŦāļĢāļąāļš HTML, CSS āđāļĨāļ° JavaScript — āđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āļ•āļīāļ”āļ•āļąāđ‰āļ‡āđƒāļ”āđ†

āļ§āļīāļ˜āļĩāļāļēāļĢāđāļ›āļĨāļ‡āļĢāļđāļ›āļ āļēāļžāđ€āļ›āđ‡āļ™ Base64 Data URL - CoolTool