base64image
Tiếng Việt

Dành cho ảnh chụp

Chuyển Base64 sang JPG

Biến chuỗi Base64 trở lại thành ảnh JPG. Dữ liệu JPEG được lưu đúng như lúc mã hóa, còn đầu vào PNG hoặc WebP có thể chuyển sang JPG ngay trong trình duyệt.

0 ký tựhoặc thả tệp .txt vào đây
Ảnh đầu ra

Ảnh của bạn sẽ hiện ở đây

Không có gì được tải lên. Việc giải mã diễn ra ngay trên thiết bị này.

Định dạng
—
Kích thước
—
Dung lượng
—
Độ dài Base64
—

Cách chuyển Base64 sang ảnh

  1. Dán chuỗi vào

    Dán Base64 thô hoặc một URL data:image/...;base64, đầy đủ. Dấu ngoặc kép, ký tự xuống dòng và phần bọc CSS url() được tự động loại bỏ.

  2. Xem kết quả giải mã

    Định dạng được đọc từ chữ ký tệp chứ không phải đoán, và ảnh hiển thị ngay kèm kích thước và dung lượng.

  3. Lưu ảnh

    Tải tệp gốc về, chuyển sang PNG, JPG hoặc WebP, hoặc sao chép thẳng vào clipboard.

Về ảnh JPG Base64

JPEG (còn viết là JPG) dùng kiểu nén có mất dữ liệu, tối ưu cho ảnh chụp, nên cho ra tệp nhỏ với những ảnh có dải màu chuyển mượt. Định dạng này không hỗ trợ nền trong suốt.

Ảnh JPEG Base64 bắt đầu bằng /9j/, là dạng mã hóa của các byte FF D8 FF nằm ở đầu mọi tệp JPEG. JPG và JPEG là cùng một định dạng, có chung media type image/jpeg.

Thiết kế theo cách lập trình viên làm việc

  • Riêng tư ngay từ thiết kế

    Việc giải mã chạy bằng JavaScript trên thiết bị của bạn. Chuỗi không bao giờ được gửi lên máy chủ, nên token, ảnh chụp màn hình và dữ liệu khách hàng vẫn nằm trong tay bạn.

  • Nhận diện định dạng thực sự

    Magic bytes giúp nhận ra PNG, JPEG, GIF, WebP, SVG, BMP, ICO và AVIF ngay cả khi tiền tố data URL bị thiếu hoặc sai.

  • Dễ tính với đầu vào

    Xử lý được Base64 URL-safe, thiếu padding =, chuỗi bị ngắt dòng, chuỗi đã escape trong JSON và dấu ngoặc kép bao quanh.

  • Thông tin tệp chính xác

    Hiển thị kích thước theo pixel, dung lượng tệp sau giải mã và độ dài chuỗi, rất tiện khi kiểm tra payload API.

  • Chuyển đổi định dạng

    Chuyển bất kỳ ảnh nào đã giải mã sang PNG, JPG hoặc WebP mà không cần rời trang.

  • Không giới hạn, không cần tài khoản

    Dùng miễn phí, không đăng ký, không watermark và không giới hạn lượt dùng mỗi ngày.

Ảnh Base64 là gì?

Base64 là cách biểu diễn dữ liệu nhị phân bằng 64 ký tự in được: A–Z, a–z, 0–9, + và /. Chuẩn này được định nghĩa trong RFC 4648. Cứ 3 byte của tệp sẽ thành 4 ký tự văn bản, nên ảnh Base64 lớn hơn tệp gốc khoảng 33%.

Data URL, được định nghĩa trong RFC 2397, bọc đoạn văn bản đó cùng một media type để trình duyệt hiển thị trực tiếp: data:image/png;base64,iVBORw0KGgo.... Đây là cách các ảnh nhỏ được nhúng vào HTML, CSS, phản hồi API dạng JSON, email và tệp SVG.

Chuyển Base64 sang ảnh là làm ngược lại quá trình đó. Văn bản được giải mã về đúng các byte ban đầu và lưu thành một tệp ảnh bình thường, giống hệt tệp đã được mã hóa.

Các định dạng ảnh và chữ ký Base64 tương ứng

Những ký tự đầu tiên của chuỗi Base64 cho biết định dạng ảnh, vì mỗi định dạng đều bắt đầu bằng các byte chữ ký cố định.

Định dạngKiểu MIMEBase64 bắt đầu bằngTrong suốtẢnh độngPhù hợp nhất cho
PNGimage/pngiVBORw0KGgoCóKhôngLogo, icon, ảnh chụp màn hình
JPGimage/jpeg/9j/KhôngKhôngẢnh chụp
GIFimage/gifR0lGODCóCóẢnh động ngắn, đơn giản
WebPimage/webpUklGRCóCóẢnh web dung lượng nhỏ hơn
SVGimage/svg+xmlPHN2ZyCóCóIcon và hình minh họa co giãn được
BMPimage/bmpQkKhôngKhôngẢnh bitmap cũ, không nén
ICOimage/x-iconAAABAACóKhôngFavicon

Giải mã Base64 sang JPG bằng code

Khi cần làm điều tương tự trong script, các đoạn code dưới đây ghi một chuỗi Base64 ra tệp ảnh.

JavaScript
const img = new Image();
img.src = `data:image/jpeg;base64,${b64}`;
document.body.append(img);
Node.js
import { writeFileSync } from 'node:fs';

writeFileSync('image.jpg', Buffer.from(b64, 'base64'));
Python
import base64

with open("image.jpg", "wb") as f:
    f.write(base64.b64decode(b64))
Shell
base64 --decode image.txt > image.jpg

Câu hỏi thường gặp

JPG và JPEG có khác nhau không?

Không. Đó là hai cách viết của cùng một định dạng. Phần mở rộng ba chữ cái .jpg có từ các hệ thống Windows đời cũ; media type luôn là image/jpeg.

Giải mã Base64 có làm giảm chất lượng JPG không?

Không. Giải mã khôi phục đúng từng byte của tệp gốc, nên không có nén lại và không mất chất lượng.

Có chuyển được Base64 PNG sang JPG không?

Có. Dán dữ liệu PNG rồi bấm Tải JPG. Các vùng trong suốt sẽ được tô trắng, vì JPEG không có kênh alpha.

Làm sao nhận biết một chuỗi Base64 là JPEG?

Chuỗi bắt đầu bằng /9j/. Ở dạng data URL, nó trông như data:image/jpeg;base64,/9j/4AAQ....

Dữ liệu Base64 của tôi có bị tải lên máy chủ không?

Không. Việc giải mã do JavaScript thực hiện ngay trong trình duyệt của bạn. Chuỗi và ảnh kết quả không bao giờ được truyền đi, nên công cụ an toàn với ảnh riêng tư hoặc nhạy cảm.

Công cụ hỗ trợ những định dạng ảnh nào?

PNG, JPEG, GIF, WebP, SVG, BMP, ICO và AVIF. Định dạng được nhận diện từ chữ ký tệp, nên vẫn hoạt động dù không có tiền tố data:image/....