UltKit

Chuyển ảnh sang Base64

Biến file ảnh thành một dòng văn bản để dán vào HTML, CSS, yêu cầu JSON hoặc file Markdown, với tiền tố Data URI đã có sẵn ở đầu nên dùng được ngay khi dán.

Chuyển đổi dữ liệu

hoặc thả tệp CSV, TSV, TXT … vào đây ·

Tối đa 95 MB mỗi tệp· Tối đa 20 tệp· Xóa sau 30 phút

Đầu ra

Tệp được xử lý trên máy chủ của chúng tôi và bị xóa sau 30 phút.

Cách sử dụng công cụ này

  1. 1

    Thêm ảnh

    Kéo thả các file PNG, JPG, GIF, WebP hoặc SVG vào khu vực tải lên, tối đa 20 file mỗi lần và mỗi file không quá 95 MB.

  2. 2

    Giữ hoặc bỏ tiền tố

    Tùy chọn Tiền tố Data URI đang bật, nên kết quả bắt đầu bằng data:image/png;base64, hoặc kiểu tương ứng. Hãy tắt tùy chọn này trong Cài đặt nâng cao khi API chỉ nhận chuỗi Base64 thuần.

  3. 3

    Chuyển và sao chép

    Nhấn Chuyển sang Base64 text → rồi tải về một file .txt cho mỗi ảnh, sẵn sàng dán vào mã của bạn.

Tải ảnh lên và nhấn Chuyển sang Base64 text →. Bạn nhận được file được mã hóa thành các ký tự thuần, bắt đầu bằng data:image/…;base64, để dùng ngay trong img src hoặc url() của CSS. Hình ảnh không thay đổi gì.

Khi nào nên chuyển ảnh sang Base64

Base64 được định nghĩa trong RFC 4648 (2006), ánh xạ mỗi 3 byte dữ liệu nhị phân thành 4 ký tự trong bảng 64 ký tự gồm A–Z, a–z, 0–9, + và /. Kết quả đi qua được mọi kênh thiết kế cho văn bản. Lược đồ data URI, do Larry Masinter viết thành RFC 2397 năm 1998, cho phép trình duyệt coi chuỗi văn bản đó như một file.

Lập trình viên front-end nhúng trực tiếp biểu tượng nhỏ, hình tải trang và ảnh giữ chỗ để trang hiển thị mà không cần thêm yêu cầu. Lập trình viên back-end gửi ảnh trong JSON, vì nhiều API, kể cả dịch vụ nhận dạng hình ảnh và OCR, nhận ảnh dưới dạng trường Base64. Người kiểm thử lưu dữ liệu mẫu trong mã nguồn, còn người làm báo cáo HTML một file hoặc ghi chú Markdown nhúng ảnh chụp màn hình để file vẫn đầy đủ khi gửi email hoặc lưu trữ.

Kết quả Base64 trông như thế nào

Ảnh PNG trong suốt 1 × 1 (68 byte) dưới dạng data URI trong thẻ img
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVR4nGNgAAIAAAUAAXpeqz8AAAAASUVORK5CYII=" width="1" height="1" alt="Điểm ảnh 1×1">

File biểu tượng PNG

24 KB

bộ biểu tượng thanh công cụ thông thường, 96 × 96 px

+33% dung lượng, chất lượng không đổi

Văn bản Base64

32 KB

4 ký tự cho mỗi 3 byte, cộng tiền tố

ANY I

Mọi loại ảnh

Công cụ này chấp nhận các định dạng ảnh phổ biến, bao gồm JPG, PNG, WebP, HEIC, GIF, BMP và TIFF. Định dạng được nhận diện tự động từ tệp, nên bạn không cần biết ảnh của mình thuộc loại nào.

Công cụ chuyển đổi Any image

BASE64

Văn bản mã hóa Base64

Base64 là một kiểu mã hóa, được định nghĩa trong RFC 4648, biến mọi dữ liệu nhị phân thành chuỗi gồm 64 ký tự văn bản an toàn. Kiểu mã hóa này được dùng để nhúng ảnh vào HTML và CSS dưới dạng data URI, đính kèm tệp vào email và gửi dữ liệu nhị phân trong JSON hoặc XML. Quá trình mã hóa hoàn toàn có thể đảo ngược nhưng làm dữ liệu lớn hơn khoảng 33%. Base64 không phải là mã hóa bảo mật và không mang lại an toàn nào; bất kỳ ai cũng giải mã được.

Nén
Không mất dữ liệu
Độ trong suốt
–
Ảnh động
–
Ra mắt
–
Công cụ chuyển đổi BASE64

Ảnh được chuyển thành văn bản Base64 khi phải nằm trong thứ chỉ chứa được văn bản: file HTML hoặc CSS không cần yêu cầu tải riêng, trường JSON của một lệnh gọi API, dữ liệu mẫu kiểm thử hoặc báo cáo gộp trong một file.

Khi nào nhúng ảnh trực tiếp giúp trang nhanh hơn, khi nào gây hại

Nhúng trực tiếp giúp tiết kiệm một yêu cầu, điều quan trọng nhất thời HTTP/1.1, khi trình duyệt chỉ mở vài kết nối cho mỗi trang. Với HTTP/2 và HTTP/3 có ghép kênh, các yêu cầu nhỏ thêm vào rất rẻ, nên lợi ích giảm đi trong khi cái giá vẫn còn: ảnh đã mã hóa không thể lưu đệm riêng, bị tải lại mỗi khi HTML hoặc CSS thay đổi, và làm chậm việc phân tích file chứa nó.

Quy tắc hợp lý là chỉ nhúng những ảnh vài kilobyte xuất hiện ở mọi trang, như logo hoặc sprite biểu tượng, còn lại dùng file riêng. Ảnh chụp hầu như không nên nhúng. Nếu bạn thực sự cần một loại file khác chứ không phải văn bản, chuyển đổi ảnh sẽ xử lý việc đó.

Ưu điểm của ảnh Base64

  • Một file HTML, CSS hoặc JSON đầy đủ, độc lập
  • Không cần thêm yêu cầu cho biểu tượng nhỏ
  • An toàn trong JSON, XML và các định dạng văn bản khác
  • Không mất dữ liệu và có thể đảo ngược

Cái giá của ảnh Base64

  • Lớn hơn file nhị phân khoảng 33%
  • Trình duyệt không lưu đệm riêng
  • Nhiều ứng dụng email chặn ảnh dạng này
  • Khó xem xét trong phần so sánh mã

Câu hỏi thường gặp về chuyển ảnh sang Base64

Base64 và Data URI khác nhau thế nào?

Base64 chỉ là phần chuỗi ký tự đã được mã hóa. Data URI bọc chuỗi đó bằng một lược đồ và kiểu dữ liệu, data:image/png;base64, theo sau là các ký tự, để trình duyệt biết cách giải mã và hiển thị. HTML và CSS cần data URI đầy đủ; hầu hết API JSON chỉ cần phần Base64 thuần.

Ảnh chuyển sang Base64 lớn hơn bao nhiêu?

Base64 dùng 4 ký tự cho mỗi 3 byte, nên văn bản lớn hơn file gốc khoảng một phần ba, cộng thêm phần tiền tố ngắn. Một file PNG 30 KB sẽ thành khoảng 40 KB văn bản. Nếu HTML hoặc CSS được gửi đi dưới dạng nén gzip, một phần chênh lệch đó sẽ được bù lại khi truyền tải.

Có thể dùng ảnh Base64 trong chữ ký email không?

Cách này không đáng tin cậy. Gmail không hiển thị ảnh data URI, và nhiều phần mềm email trên máy tính cũng loại bỏ chúng, nên người nhận thấy biểu tượng ảnh lỗi. Hãy đặt ảnh trên máy chủ web hoặc đính kèm, và chỉ dùng Base64 cho trang web và ứng dụng.

Có nên mã hóa biểu tượng SVG sang Base64 không?

Được, nhưng SVG vốn đã là văn bản. Mã hóa URL phần mã thay vì mã hóa Base64 thường cho data URI ngắn hơn và vẫn dễ đọc. Với ảnh lớn hơn một biểu tượng nhỏ, nên dùng file SVG riêng để trình duyệt có thể lưu bộ nhớ đệm.

Có thể chuyển chuỗi Base64 ngược lại thành ảnh không?

Có, việc mã hóa không làm mất dữ liệu và hoàn toàn có thể đảo ngược: giải mã sẽ trả về đúng các byte gốc. Ngôn ngữ lập trình nào cũng có bộ giải mã, và dán data URI đầy đủ vào thanh địa chỉ trình duyệt sẽ hiển thị ảnh.

Mã hóa Base64 có làm thay đổi chất lượng ảnh không?

Không. Base64 chỉ thay đổi cách ghi các byte, không đổi điểm ảnh. Để chuỗi ngắn hơn, hãy thu nhỏ ảnh trước, ví dụ bằng giảm dung lượng ảnh xuống 20 KB, rồi mã hóa file nhỏ hơn.