Hệ sinh thái Volade — Công cụ Web

Trình mã hóa / giải mã Base64

Mã hóa văn bản, tệp và URL sang Base64, rồi giải mã mọi chuỗi Base64 về văn bản dễ đọc — theo thời gian thực, với biến thể URL-safe, padding tùy chỉnh, bảng mã UTF-8, Latin-1 và UTF-16, chuyển đổi tệp ⇄ Base64 kèm data URI và phân tích chi tiết từng byte. Miễn phí, không cần đăng ký và 100 % cục bộ: không có gì rời khỏi trình duyệt của bạn.

5 chế độ chuyển đổi0 byte gửi lên máy chủ∞ lượt chuyển đổi, không giới hạn dung lượng
Công cụ

Trình mã hóa giải mã Base64 trực tuyến của bạn

Dán văn bản hoặc chuỗi Base64: kết quả được cập nhật ngay khi bạn gõ, không cần nút « Chuyển đổi ».

Trình mã hóa / giải mã Base64

Trực tuyến Phát triển, Mã & Dữ liệu
Đăng nhập
Phím tắt: Ctrl+Enter chuyển đổi
Sẵn sàng.
Chuyển đổi chạy ngay khi bạn gõ · Ctrl+Enter chuyển đổi thẻ đang mở · biến thể URL-safe thay thế + bằng - và / bằng _ · 100 % cục bộ, không có gì rời khỏi thiết bị của bạn.
0,0 0Ghi chú Tất cả công cụ
Miễn phí hay Premium?

Trình mã hóa giải mã Base64 miễn phí và không giới hạn: không tài khoản, không cần cài đặt, không gửi dữ liệu ra ngoài. Premium mở khóa toàn bộ hệ sinh thái Volade.

Miễn phíVăn bản ⇄ Base64 thời gian thực, UTF-8, Latin-1 và UTF-16
Miễn phíBiến thể URL-safe, padding tùy chỉnh, xuống dòng
Miễn phíTệp ⇄ Base64, data URI, phân tích từng byte
PremiumĐồng bộ đám mây có mã hóa cho lịch sử và đoạn mã
PremiumTruy cập API và script dùng chung giữa các công cụ trong hệ sinh thái
Mở khóa Premium
Tính năng

Mã hóa và giải mã Base64, không giới hạn

Một động cơ duy nhất cho văn bản, tệp, URL và phân tích nhị phân — mà không bao giờ rời khỏi thiết bị của bạn.

Văn bản ⇄ Base64 thời gian thực

Dán văn bản, JSON hoặc HTML và nhận phiên bản Base64 trong khi gõ — rồi ngược lại: dán chuỗi Base64 và đọc nội dung ngay lập tức. Sáu bảng mã được hỗ trợ, biến thể URL-safe và padding có thể bật tắt, và chi tiết từng byte đi kèm mỗi lần giải mã.

Mã hóa ngay

Tệp ⇄ Base64 và data URI

Kéo một tệp (ảnh, PDF, archive, phông chữ) để nhận dạng Base64 của nó và, nếu cần, một data URI sẵn sàng dán vào CSS, HTML hoặc JSON. Ngược lại, dán chuỗi Base64 hoặc data URI đầy đủ: công cụ nhận diện kiểu MIME, đề xuất tên tệp và tái tạo tệp gốc.

Chuyển đổi tệp

Bảo mật tuyệt đối

Không có yêu cầu mạng nào: việc mã hóa và giải mã diễn ra hoàn toàn trong trình duyệt của bạn, kể cả khi ngoại tuyến. Hoàn hảo cho mật khẩu, token JWT, khóa API, header HTTP và mọi nội dung nhạy cảm bạn không muốn giao cho ai.

Tìm hiểu thêm
Cách hoạt động

Mã hóa hoặc giải mã trong ba bước

Không cài đặt, không đăng ký: công cụ luôn sẵn sàng, trên cả mobile lẫn máy tính.

Dán nội dung của bạn

Văn bản, JSON, HTML, mật khẩu hoặc chuỗi Base64 đã mã hóa: dán vào thẻ « Mã hóa » hoặc « Giải mã ». Bạn có thể chọn tệp trong thẻ chuyên dụng, và data URI được nhận diện tự động.

Chỉnh định dạng

Chọn bảng mã ký tự, bật biến thể URL-safe, bỏ padding hoặc thêm xuống dòng tùy mục tiêu (JWT, URL, CSS, email, cơ sở dữ liệu…). Kết quả cập nhật tức thì.

Sao chép và tái sử dụng

Sao chép kết quả, tải xuống dạng .txt, chuyển giữa các thẻ hoặc chia sẻ liên kết. Lịch sử cục bộ giữ các lượt chuyển đổi gần đây để bạn tải lại bằng một cú nhấp.

Tham khảo nhanh

Base64 trong một cái nhìn: kích thước, bảng chữ cái và biến thể

Những gì hầu hết nhà phát triển kiểm tra trước khi mã hóa — với bảng chữ cái tương tác trong thẻ « Bảng chữ cái & tham chiếu ».

Nội dungByteKý tự Base64PaddingVí dụ
Một ký tự ASCII (« A »)14« == »QQ==
Hai ký tự (« AB »)24« = »QUI=
Ba ký tự (« ABC »)34khôngQUJD
« Hello » (UTF-8)58« = »SGVsbG8=
« Xin chào thế giới ! » (UTF-8)1824khôngQm9uam91ciBsZSBtb25kZSAh
« é » (UTF-8)24khôngw6k=
« 日 » (UTF-8)34không5piv
Byte rỗng (0x00)14« == »AA==

« encoder » và « decoder » trong Base64 nghĩa là gì?

Mã hóa sang Base64 (« encode base64 ») biến các byte — thường là byte của văn bản mã hóa UTF-8 — thành chuỗi gồm 64 ký tự được phép: 26 chữ hoa, 26 chữ thường, 10 chữ số, rồi + và /. Giải mã Base64 (« decode base64 ») thực hiện chính xác thao tác ngược lại: chuỗi được đọc theo nhóm 4 ký tự, mỗi ký tự đại diện 6 bit, và 24 bit cho ra 3 byte. Đó chính là cặp qua lại mà hầu hết mọi người tìm kiếm khi gõ « encode and decode base64 ».

Base64 không phải là nén cũng không phải là mã hóa: văn bản dài thêm khoảng một phần ba, và ai cũng đọc được trong một giây. Giá trị của nó là vận chuyển byte qua các kênh chỉ nhận ký tự ASCII an toàn — URL, header HTTP, tệp cấu hình, JSON, SVG nội tuyến, email, cơ sở dữ liệu dạng văn bản.

Cách mã hóa văn bản sang Base64

Bước 1: văn bản trước được mã hóa thành byte theo bảng mã đã chọn — UTF-8 mặc định, nhưng Latin-1, Windows-1252, ASCII hoặc UTF-16 vẫn hữu ích cho dữ liệu cũ. Bước 2: các byte được đọc ba một, tức 24 bit. Bước 3: 24 bit này được cắt thành bốn khối 6 bit, mỗi khối được thay bằng ký tự tương ứng theo vị trí trong bảng chữ cái. Bước 4: nếu nhóm cuối chưa đủ, nó được bổ sung bit bằng 0 và chuỗi được đóng lại bằng một hoặc hai = (padding).

Ví dụ từng bước: « AB » có giá trị 65 rồi 66 trong thập phân, tức là 01000001 01000010. Với ba byte có đệm: 01000001 01000010 00000000. Bốn nhóm 6 bit là 010000 010100 001000 000000 → vị trí 16, 20, 8, 0 → QUI=. Chỉ cần gõ « AB » vào trình mã hóa: kết quả hiện ra trước khi bạn kịp nhả phím.

Cách giải mã Base64 về văn bản

Việc giải mã đọc chuỗi theo nhóm 4 ký tự sau khi bỏ các xuống dòng và khoảng trắng thừa. Mỗi ký tự được thay bằng giá trị 6 bit của nó, bốn giá trị được nối thành 24 bit, rồi 24 bit được cắt thành 3 byte. Các = ở cuối cho biết nhóm cuối chứa bao nhiêu byte thực sự dùng được: một = nghĩa là 2 byte, hai = nghĩa là 1 byte.

Nếu chuỗi chứa - hoặc _, đó là biến thể URL-safe: công cụ tự động chuyển chúng thành + và / trước khi giải mã. Nếu thiếu padding, nút « Sửa padding » sẽ khôi phục nó. Khi gặp ký tự ngoài bảng chữ cái, thẻ sai vị trí hoặc độ dài không chia hết cho 4, lỗi sẽ hiển thị đúng lý do thay vì chỉ « không hợp lệ ».

Biến thể URL-safe (RFC 4648 §5)

Base64 chuẩn dùng + và /, hai ký tự gây rắc rối trong URL: + được hầu hết máy chủ hiểu là khoảng trắng, còn / có thể bị nhầm với ký tự phân cách đường dẫn. Biến thể URL-safe thay thế chúng bằng - và _, không cần escape. Biến thể này là bắt buộc trong JWT (ba phân đoạn của token được mã hóa không padding), trong cookie, các mã định danh và tham số URL.

Padding « = »: dùng để làm gì

Base64 làm việc theo nhóm 4 ký tự, nhưng kích thước tệp hầu như không bao giờ chia hết cho 3 byte. Padding khôi phục độ dài mong đợi: còn 1 byte thì thành ==, 2 byte còn lại cho =. Một số hệ thống xóa padding (một số API, Base64URL); số khác lại yêu cầu (PHP, các trình giải mã cũ). Tùy chọn « Không padding » của trình mã hóa và nút « Sửa padding » của trình giải mã bao phủ cả hai trường hợp.

Bảng mã ký tự: UTF-8, Latin-1, UTF-16

Base64 không biết ký tự, chỉ biết byte. Vậy câu hỏi then chốt là: văn bản được mã hóa bằng gì trước trước khi làm Base64? Với UTF-8, « é » dài 2 byte và « 日 » dài 3; với Latin-1, « é » vừa 1 byte nhưng « 日 » trở nên bất khả thi. Việc giải mã UTF-8 một chuỗi mã hóa bằng Latin-1 sẽ cho ra các ký tự lộn xộn (« mojibake »). Nếu bạn dùng một công cụ trực tuyến mà kết quả không đọc được, gần như luôn là bảng mã đầu vào khác nhau — vì thế có sáu tùy chọn ở đây.

Tệp, data URI và hình ảnh trong Base64

Một data URI có dạng data:<kiểu MIME>;base64,<dữ liệu>. Nhờ đó bạn có thể nhúng thẳng hình ảnh vào CSS, HTML hoặc JSON: background-image:url(data:image/png;base64,iVBOR…). Để giải mã, dán toàn bộ chuỗi vào thẻ « Tệp ⇄ Base64 »: kiểu MIME được trích xuất, tên được đề xuất, rồi tệp được tái tạo và có thể tải xuống. Chú ý dung lượng: Base64 tăng khoảng 33 % và data URI không bao giờ được cache riêng lẻ.

Base64, URL-encoding và tại sao không được nhầm lẫn

Còn percent-encoding (%20, %C3%A9) thay thế từng byte không được phép bằng một mã phần trăm: nó dài gấp hai đến ba lần Base64 nhưng vẫn giữ nguyên văn bản gốc về mặt thị giác. Base64 tạo chuỗi gọn gàng, đều đặn, lý tưởng cho blob nhưng không đọc được. Thẻ « URL & data URI » đưa cả hai cách chuyển đổi cạnh nhau để tránh lỗi kinh điển là mã hóa URL sang Base64 trong khi lẽ ra phải escape — hoặc ngược lại.

Base64 trong các định dạng hàng ngày

Base64 có ở khắp nơi: ba phân đoạn của JWT, thuộc tính src của ảnh SVG nội tuyến, trường cert trong PDF, các tệp đính kèm MIME của email (RFC 2045), các Authorization: Basic của API (nguoidung:matkhau), các tệp .pem và khóa SSH, nội dung của .docx và .xlsx (ZIP), avatar trong bộ nhớ client, và các data- attributes của các bài kiểm thử tự động. Biết cách mã hóa và giải mã nhanh giúp bạn khỏi mở terminal chỉ vì một chuỗi.

Base64 không phải là gì

Base64 không mã hóa gì cả: một chuỗi mã hóa có thể đọc lại bằng một dòng code. Đừng bao giờ dùng nó để bảo vệ mật khẩu, khóa API hay dữ liệu cá nhân. Nó cũng không phải là nén: luôn dự tính thêm 33 % dung lượng. Cuối cùng, Base64 không phù hợp với dữ liệu nhị phân đã nén chặt (PNG, ZIP) trên vài megabyte, khi chi phí bộ nhớ trở nên nặng nề.

Hiệu năng và thực hành tốt

Trong trình duyệt, TextEncoder và TextDecoder xử lý nhiều megabyte mỗi giây; chính thuật toán Base64 là tuyến tính, không đệ quy cũng không cấp phát theo từng ký tự. Các tệp trên 5 MB có thể làm giao diện chậm lại: với lô lớn hơn, bạn nên xử lý bằng Web Worker hoặc phía máy chủ. Luôn ghi lại bảng mã gốc bên cạnh chuỗi, và kiểm tra vòng lặp mã hóa–giải mã trước khi lưu kết quả vào cơ sở dữ liệu.

Khuyên dùng cho

Nhà phát triển back-end và front-end (token, data URI, header HTTP), integrator và biên tập kỹ thuật (SVG nội tuyến, ảnh nền), quản trị viên hệ thống và DevOps (chứng chỉ, khóa, dump), tester và pentester (Authorization Basic, fuzzing tham số), sinh viên (hiểu về byte, ASCII và UTF-8), cũng như bất kỳ ai cần một trình mã hóa giải mã Base64 trực tuyến nhanh, đầy đủ và bảo mật.

FAQ

Câu hỏi thường gặp về trình mã hóa giải mã Base64

Mọi điều bạn muốn biết trước khi mã hóa hay giải mã.

Làm sao để mã hóa văn bản sang Base64?

Dán văn bản vào thẻ « Mã hóa »: văn bản được mã hóa thành byte (UTF-8 mặc định), rồi thành bốn ký tự Base64 cho mỗi nhóm ba byte. Kết quả hiện ra tức thì, kèm kích thước đầu vào, số ký tự và phần tăng khoảng 33 %. Nhấp « Sao chép Base64 » để dùng.

Làm sao để giải mã chuỗi Base64 về văn bản?

Dán chuỗi vào thẻ « Giải mã »: công cụ bỏ khoảng trắng và xuống dòng, nhận diện biến thể chuẩn hoặc URL-safe, khôi phục padding nếu cần và hiển thị văn bản đã giải mã cùng chi tiết từng byte. Nếu kết quả không đọc được, hãy đổi tùy chọn « Bảng mã khi giải mã » — nhiều khả năng bảng mã gốc không phải UTF-8.

Khác biệt giữa Base64 chuẩn và URL-safe là gì?

Biến thể chuẩn (RFC 4648 §4) dùng + và /, làm hỏng URL và bị hiểu nhầm là khoảng trắng trong tham số. Biến thể URL-safe (RFC 4648 §5) thay thế chúng bằng - và _. Hai biến thể chứa đúng cùng thông tin: công cụ tự chuyển đổi qua lại khi giải mã, và ô « Biến thể URL-safe » tạo trực tiếp định dạng mà JWT và cookie mong đợi.

Tại sao chuỗi Base64 của tôi lại kết thúc bằng « = »?

Padding bổ sung cho nhóm cuối khi số byte không chia hết cho ba: một = nghĩa là hai byte dùng được, hai = nghĩa là một byte dùng được. Padding bắt buộc với hầu hết trình giải mã cổ điển, nhưng Base64URL lại bỏ nó. Dùng « Không padding » để mã hóa không có padding =, hoặc « Sửa padding » để khôi phục trước khi giải mã.

Base64 có mã hóa dữ liệu không?

Không. Base64 chỉ là cách mã hóa vận chuyển: nó không bảo vệ gì và giải mã chỉ trong một thao tác. Nó chỉ dùng để đưa byte qua các kênh dạng văn bản (URL, JSON, email, header). Để bảo vệ mật khẩu, khóa hay dữ liệu cá nhân, hãy dùng mật mã đích thực hoặc hàm băm có muối.

Base64 làm tăng bao nhiêu ký tự?

Đúng 4 ký tự cho mỗi nhóm 3 byte, tức phần tăng không đổi khoảng 33 % — công thức là 4 × ⌈số byte ÷ 3⌉, kể cả padding. Bảng trong thẻ « Bảng chữ cái & tham chiếu » cho các tương ứng phổ biến nhất, còn thống kê của trình mã hóa hiển thị phần tăng thực tế của nội dung bạn.

Có thể mã hóa tệp hoặc hình ảnh sang Base64 không?

Được: mở thẻ « Tệp ⇄ Base64 », chọn một tệp và phiên bản Base64 của nó được tạo kèm kích thước và, khi yêu cầu, một data URI đầy đủ. Ngược lại, dán chuỗi Base64 hoặc data URI đầy đủ dạng data:image/png;base64,… để tái tạo tệp: kiểu MIME được nhận diện, tên tệp được đề xuất, rồi việc tải xuống tự bắt đầu.

Công cụ có gửi dữ liệu của tôi lên máy chủ không?

Không: mọi thứ chạy trong trình duyệt của bạn, không có yêu cầu mạng nào và không cần tài khoản. Bạn có thể dùng khi ngoại tuyến, với mật khẩu, token JWT, khóa API hoặc đoạn code bí mật. Lịch sử nằm trong bộ nhớ cục bộ của thiết bị và có thể xóa bằng một cú nhấp.

Trình mã hóa giải mã Base64 100 % cục bộ: dữ liệu của bạn không bao giờ rời khỏi máy tính

Khác với các trình mã hóa Base64 trực tuyến thông thường, không có chuỗi nào được truyền đi: việc mã hóa, giải mã và chuyển đổi tệp diễn ra hoàn toàn trong trình duyệt của bạn. Nhờ vậy bạn có thể mã hóa mật khẩu, token, chứng chỉ hoặc đoạn code nội bộ mà không rủi ro, kể cả khi bật chế độ máy bay hay trên mạng công cộng. Lịch sử và nội dung nhập gần nhất được lưu cục bộ (localStorage) và ở lại trên thiết bị của bạn.

Gói Premium Volade thêm tùy chọn đồng bộ đám mây, có mã hóa, tách khỏi công cụ — phần còn lại vẫn miễn phí và không giới hạn, không cần đăng ký.

Một giấy phép premium, mọi công cụ web của bạn

Trình mã hóa giải mã Base64, trình định dạng JSON, trình tạo, trình chỉnh sửa PDF và hàng chục công cụ miễn phí — cùng toàn bộ hệ sinh thái Volade với một giấy phép duy nhất.

Một giấy phép, toàn bộ hệ sinh thái cao cấp Trình duyệt · CMS · Máy tính · Di động · Script · API · Công cụ · Database
Một giấy phép, toàn bộ hệ sinh thái Mua Premium Đăng nhập