Tukar HEIC kepada JPG

Gambar iPhone ialah HEIC; WhatsApp, Shopee dan borang web bukan. Halaman ini menukarnya dalam tab anda — tiada muat naik, penyahkod diambil bila perlu.

🔒 100% dalam pelayar · tiada muat naik ke pelayan

Penukaran pertama memuat turun penyahkod HEIC 700 KB (libheif, LGPL-3.0). Ia hanya diambil apabila anda tekan butang, dan pelayar menyimpannya selepas itu.

Hasil

    Tiada fail demo di sini dengan sengaja: sampel HEIC bermakna meletakkan gambar orang lain dalam halaman ini. Gunakan gambar anda sendiri — ia dinyahkod dalam tab ini dan tidak dihantar ke mana-mana.

    Penyahkodan berjalan dalam tab pelayar ini. Gambar anda tidak dimuat naik.

    Penyahkodan menggunakan libheif 1.23.5, tanpa diubah suai, di bawah LGPL-3.0. Sumber: github.com/catdad-experiments/libheif-js.

    Peraturan Malaysia & kes luar biasa

    Mengapa HEIC perlukan halaman sendiri

    Setiap alat lain di sini hanya beberapa kilobait JavaScript. Penyahkod HEIC tidak begitu: format fail ini membungkus bingkai video HEVC, dan pelayar enggan membukanya melainkan fail itu dibuat oleh Safari. Jadi halaman ini membawa satu perkara yang dielakkan seluruh laman — penyahkod WebAssembly 700 KB — dan menyatakannya terus terang:

    PerkaraHalaman ini
    Muat turun penyahkod700 KB gzip, pada penukaran pertama, kemudian disimpan oleh pelayar. Ia bukan sebahagian daripada muatan halaman.
    Di mana penyahkodan berlakuDalam tab ini, pada CPU anda. Tiada gambar, nama fail atau bait keluar dari peranti.
    Pustakalibheif 1.23.5, tanpa diubah suai, LGPL-3.0 — sumber di github.com/catdad-experiments/libheif-js. Pautan semula tidak diperlukan: pustaka digunakan seperti diterbitkan, dan tawaran sumber ialah notis ini.
    Paten HEVCPenyahkodan dilesenkan oleh codec dalam pustaka; laman ini tidak membawa pengekod, jadi ia tidak pernah mencipta kandungan HEVC.
    Input diterimaheic, heix, hevc dan jenama generik mif1/msf1. AVIF berkongsi kontainer tetapi perlukan penyahkod AV1 yang tiada di sini — ia ditolak dengan nama, bukan dengan ranap.
    Had saiz20 megapiksel. Gambar 48 MP "HEIF Max" perlukan kira-kira 390 MB penimbal piksel dalam satu tab dan akan dibunuh semasa menyahkod; baris itu menyatakannya.
    Satu fail, banyak imejBurst HEIC atau bingkai Live Photo menyimpan beberapa imej. Setiap satu menjadi baris hasil dan fail sendiri — tiada apa digugurkan diam-diam.

    Apa yang tidak dilakukan. Ia tidak menulis HEIC semula: mengekod HEVC ialah produk berlesen paten, dan tiada pelayar boleh melakukannya. Ia tidak membaca HEIC daripada pautan iCloud atau arkib zip, dan ia tidak membesarkan — gambar 12 MP keluar 12 MP.

    Sebelum dan selepas

    Sebelum

    IMG_4821.HEIC · 2.4 MB · 4032×3024 · HEVC daripada iPhone 15 · ditolak oleh borang muat naik Shopee, ditolak oleh Outlook, tidak kelihatan dalam Word

    Selepas

    IMG_4821.jpg · 0.9 MB · 4032×3024 · gambar sama, boleh dibuka pada setiap borang, sembang dan kedai cetak

    Cara ia berfungsi

    1. Lepaskan gambar HEIC — atau tekan Pilih gambar — dan penukaran pertama mengambil penyahkod 700 KB.
    2. Pilih JPEG untuk borang dan sembang, PNG untuk tanpa kehilangan, WebP untuk laman web; baris menunjukkan bait sebenar.
    3. Muat turun satu gambar, atau semuanya sebagai satu ZIP, dan semak peratus bertanda sebelum memuat naik.

    Soalan lazim

    Adakah gambar saya dimuat naik ke pelayan?

    Tidak. Penyahkod dimuat turun, gambar tidak: ia dibaca daripada pemilih fail ke dalam tab ini dan dinyahkod oleh CPU anda sendiri. Anda boleh periksa panel rangkaian — selepas penyahkod 700 KB tiba, tiada permintaan membawa data gambar, dan mematikan rangkaian tidak menghentikan penukaran.

    Mengapa halaman memuat turun 700 KB apabila saya tekan tukar?

    Kerana penyahkod HEIC tidak boleh ditulis dengan beberapa ratus baris: HEVC ialah codec video, dan pelaksanaan rujukannya ialah 1.4 MB WebAssembly. Membawanya pada setiap halaman akan memperlahankan seluruh laman bagi semua orang yang datang untuk alat CSV, jadi ia hanya diambil di sini, hanya bila perlu, dan disimpan selepas itu.

    Adakah kualiti, tarikh dan lokasi hilang?

    Imej dikod semula pada kualiti yang anda pilih, jadi sedikit perincian hilang — JPEG pada 90% kelihatan sama pada saiz biasa. Blok EXIF (kamera, tarikh, GPS) tidak dibawa ke JPG: penyahkod memulangkan piksel, bukan metadata. Itu biasanya membantu apabila anda hendak memuat naik gambar ke pasar raya dalam talian.

    Bagaimana jika fail saya AVIF, atau burst sepuluh gambar?

    AVIF ditolak dengan nama — kontainer sama dengan imej AV1 di dalamnya, yang tidak dapat dibaca binaan penyahkod ini. Burst dikendalikan sebaliknya: setiap imej dalam fail menjadi baris sendiri, jadi sepuluh gambar memberi sepuluh baris dan sepuluh fail dalam ZIP, bukan satu.