All Tools / Blog / इमेज फ़ॉर्मेट कैसे बदलें (PNG, JPG, WebP, AVIF)

इमेज फ़ॉर्मेट कैसे बदलें (PNG, JPG, WebP, AVIF)

3 min read

गलत फ़ॉर्मेट बैंडविड्थ बर्बाद करता है या क्वालिटी खराब करता है। जहाँ WebP 80 KB काम करे, वहाँ PNG 400 KB लग जाती है। JPG की जगह PNG चाहिए थी और ट्रांसपेरेंसी चली गई। फ़ॉर्मेट बदलने का तरीका और कब कौन सा फ़ॉर्मेट सही है — यही यहाँ है।

ब्राउज़र में

इमेज Image Format Converter में खींचें, टारगेट फ़ॉर्मेट और क्वालिटी चुनें, फिर डाउनलोड करें। सब कुछ क्लाइंट-साइड होता है — फ़ाइलें आपके डिवाइस पर रहती हैं। समर्थित कन्वर्शन: PNG ↔ JPG, PNG ↔ WebP, JPG ↔ WebP, BMP → JPG/PNG, कोई भी → AVIF।

कौन सा फ़ॉर्मेट कब उपयोग करें

फ़ॉर्मेट सबसे अच्छा किसके लिए ट्रांसपेरेंसी Lossy JPG की तुलना में साइज़
JPG फ़ोटो, ग्रेडिएंट नहीं हाँ आधार
PNG स्क्रीनशॉट, लोगो, UI हाँ नहीं बड़ा
WebP वेब इमेज (सभी प्रकार) हाँ दोनों ~30% छोटा
AVIF आधुनिक वेब, उच्च कंप्रेशन हाँ दोनों ~50% छोटा
BMP Windows लीगेसी, रॉ पिक्सेल हाँ नहीं बहुत बड़ा

नए वेब प्रोजेक्ट के लिए WebP सुरक्षित डिफ़ॉल्ट है — 2020 से सभी ब्राउज़र समर्थन, JPG से बेहतर कंप्रेशन और पूर्ण ट्रांसपेरेंसी। AVIF और भी बेहतर है, लेकिन Safari 16+ और Chrome 85+ चाहिए।

Python: Pillow

from PIL import Image

# PNG से JPG (पहले alpha channel हटाना होगा)
with Image.open('image.png') as img:
    img.convert('RGB').save('image.jpg', quality=85)

# JPG से WebP
with Image.open('image.jpg') as img:
    img.save('image.webp', quality=80)

# WebP से PNG
with Image.open('image.webp') as img:
    img.save('image.png')

PNG में alpha channel है; JPG में नहीं। .convert('RGB') JPG में सेव करने से पहले ट्रांसपेरेंसी को सफ़ेद में बदलता है। बिना इसके Pillow एरर देगा।

# फ़ोल्डर की सभी JPG को WebP में बदलें
from pathlib import Path
from PIL import Image

for f in Path('images/').glob('*.jpg'):
    with Image.open(f) as img:
        out = f.with_suffix('.webp')
        img.save(out, quality=80)
    print(f'{f.name} → {out.name}')

ImageMagick

# एकल कन्वर्शन
convert image.png image.jpg
convert image.jpg -quality 85 image.webp
convert image.png -quality 80 image.avif

# PNG से JPG — ट्रांसपेरेंसी सफ़ेद बैकग्राउंड पर फ्लैटन करें
convert image.png -background white -flatten image.jpg

# सभी PNG को WebP में बदलें
mogrify -format webp -quality 80 *.png

# किसी भी फ़ाइल का फ़ॉर्मेट और डाइमेंशन जाँचें
identify image.webp

क्वालिटी सेटिंग

क्वालिटी फ़ाइल साइज़ दिखाई देने वाला अंतर
95 बड़ा कोई नहीं
85 मध्यम ज़्यादातर इमेज में कोई नहीं
75 छोटा कड़े किनारों पर हल्के आर्टिफैक्ट
60 बहुत छोटा दिखाई देने वाला कंप्रेशन

JPG और WebP के लिए 85 सही डिफ़ॉल्ट है। थंबनेल के लिए 75। प्रोडक्ट या पोर्टफोलियो इमेज के लिए 85+।

ट्रांसपेरेंसी और फ़ॉर्मेट संगतता

तीन स्थितियाँ जहाँ गलत फ़ॉर्मेट समस्या पैदा करता है:

JPG ट्रांसपेरेंसी हटा देता है। ट्रांसपेरेंट बैकग्राउंड वाले PNG लोगो को JPG में बदलें और ट्रांसपेरेंसी सफ़ेद (या काली) हो जाती है। ट्रांसपेरेंट बैकग्राउंड के लिए WebP या PNG उपयोग करें।

BMP अनकंप्रेस्ड होता है। 1920×1080 BMP लगभग 6 MB होता है। PNG में बदलें तो लॉसलेस ~1 MB, JPG में फ़ोटो के लिए ~300 KB।

AVIF एनकोडिंग धीमी है। AVIF सबसे छोटी फ़ाइलें बनाता है लेकिन एनकोडिंग WebP या JPG से काफ़ी धीमी है। बिल्ड पाइपलाइन के लिए ठीक है; रियल-टाइम प्रोसेसिंग के लिए नहीं।

मुख्य बातें

  • नए वेब प्रोजेक्ट के लिए WebP — JPG से ~30% छोटा, ट्रांसपेरेंसी समर्थित, 2020 से सभी ब्राउज़र।
  • Pillow में PNG से JPG सेव करने से पहले .convert('RGB') लगाएं — alpha channel साफ़ हटता है।
  • mogrify (ImageMagick) एक कमांड से पूरा फ़ोल्डर कन्वर्ट करता है।
  • JPG और WebP के लिए क्वालिटी 85 सही डिफ़ॉल्ट है; केवल थंबनेल के लिए कम करें।
  • AVIF सबसे अच्छा कंप्रेशन देता है लेकिन एनकोडिंग धीमी — ऑफलाइन पाइपलाइन में उपयोग करें।