🔤

ตัวแปลงรูปภาพเป็น Base64

วางไฟล์ JPG, PNG, WebP, GIF, SVG หรือ BMP เพื่อรับ Base64 Data URL ที่คัดลอกได้ พร้อมสไนปเป็ต CSS, HTML, Markdown และ JSON ที่จัดรูปแบบไว้แล้ว ทำงาน 100% ในเบราว์เซอร์

วางรูปภาพที่นี่หรือคลิกเพื่อเรียกดู

รูปแบบรูปภาพใดๆ สูงสุด 20 ไฟล์พร้อมกัน

หรือกด Ctrl/Cmd+V เพื่อวางจากคลิปบอร์ด

7 รูปแบบเอาต์พุต

Raw, Data URI, HTML <img>, CSS background, Markdown, JSON และ JS string — ทั้งหมดจากการอัปโหลดเดียว

📋

วางจากคลิปบอร์ด

กด Ctrl/Cmd+V เพื่อเข้ารหัสภาพหน้าจอทันที โดยไม่ต้องบันทึกไฟล์

🛡️

ไม่มีการอัปโหลด

FileReader API ประมวลผลทุกอย่างในเครื่อง รูปภาพของคุณไม่ออกจากอุปกรณ์

♾️

ไม่มีขีดจำกัดขนาดไฟล์

จำกัดเฉพาะ RAM ของอุปกรณ์ ทดสอบกับไฟล์ 100MB+ บนแล็ปท็อป 16GB

เครื่องมือรูปภาพที่เกี่ยวข้อง

เครื่องมือที่ทรงพลังมากขึ้นเพื่อเพิ่มประสิทธิภาพและจัดการรูปภาพของคุณ

เครื่องมือทั้งหมดฟรี • ประมวลผลในเครื่อง • ไม่ต้องลงทะเบียน

Base64 image encoding คืออะไร?

Base64 image encoding แปลงไบต์ binary ของไฟล์ภาพเป็นสตริง ASCII โดยใช้อักขระที่พิมพ์ได้ 64 ตัว ผลลัพธ์สามารถฝังโดยตรงใน HTML, CSS, JavaScript, JSON หรือ Markdown ทุกที่ที่ต้องการการแสดงผลแบบข้อความ ลดความจำเป็นในการมีไฟล์ภาพแยกหรือคำขอ HTTP

โดยส่วนใหญ่ payload ที่เข้ารหัสจะถูกห่อใน Data URI ตามรูปแบบ data:image/png;base64,<payload> ซึ่งกำหนดโดย RFC 2397 ในขณะที่ตัวอักษร Base64 ถูกระบุใน RFC 4648

ข้อเท็จจริงสำคัญที่นักพัฒนาควรรู้: รูปภาพที่เข้ารหัสด้วย Base64 มีขนาดใหญ่กว่าไฟล์ binary ดั้งเดิมประมาณ 33% นี่เป็นคุณสมบัติทางคณิตศาสตร์ — ทุก 3 ไบต์ของ binary จะกลายเป็น 4 อักขระ ASCII ค่าใช้จ่ายนี้สำคัญหรือไม่ขึ้นอยู่กับบริบททั้งหมด ซึ่งเราจะกล่าวถึงด้านล่าง

เมื่อใดที่ควรใช้ Base64 (และเมื่อใดที่ไม่ควร)

บทแนะนำออนไลน์ส่วนใหญ่ทำให้ Base64 inlining ดูง่ายเกินไป โดยบอกว่า "ดีเสมอ" หรือ "แย่เสมอ" ความจริงขึ้นอยู่กับบริบท นี่คือเมทริกซ์การตัดสินใจที่เราใช้ในโค้ดที่ใช้งานจริง:

สถานการณ์ใช้ Base64?เหตุผล
ลายเซ็นอีเมลที่มี logo ฝัง✅ จำเป็นไคลเอนต์อีเมลหลายตัวบล็อกการอ้างอิงรูปภาพภายนอก
ไอคอน < 2 KB ใน CSS วิกฤต✅ แนะนำประหยัด round-trip 1 ครั้ง; ผลตอบแทน > ค่าใช้จ่ายขนาด 33%
ไฟล์เดียว HTML demo / รายงาน bug✅ แนะนำมีในตัวเอง ไม่มี dependency ภายนอก
ทรัพยากร splash ของ Service Worker / PWA✅ บางครั้งหลีกเลี่ยงการแย่งทรัพยากรระหว่างติดตั้ง SW
Fixture ใน unit test✅ แนะนำการทดสอบมีในตัวเองและอ่านง่าย
รูปภาพ > 10 KB ใน CSS หรือ HTML❌ Anti-patternบล็อก critical render path; ไม่สามารถ cache แยกได้
รูปภาพใดๆ ในสภาพแวดล้อม HTTP/2❌ มักไม่ดีHTTP/2 multiplexing ขจัดค่าใช้จ่ายของคำขอแล้ว
SVG ที่ใช้ใน CSS background❌ Anti-patternURL-encoded SVG เล็กกว่าและจัดการได้ด้วย CSS
Base64 inlining แลกการเติบโตของขนาด 33% กับการลดคำขอ HTTP 1 ครั้ง หลังจาก HTTP/2 กลายเป็นกระแสหลักในปี 2015 การแลกเปลี่ยนนี้แทบจะไม่คุ้มค่าหากเกิน ~2 KB

วิธีแปลงรูปภาพเป็น Base64 ใน 4 ขั้นตอน

ตัวแปลงรูปภาพเป็น Base64 ฟรีของเราทำงานในเบราว์เซอร์ของคุณทั้งหมดผ่าน FileReader API ไม่มีไฟล์ใดถูกอัปโหลด — ตรวจสอบเองได้ในแท็บ Network ของเบราว์เซอร์ขณะที่เครื่องมือกำลังทำงาน

1

วางหรือวางรูปภาพ

ลากและวาง คลิกเพื่อเรียกดู หรือกด Ctrl/⌘+V เพื่อวางภาพหน้าจอจากคลิปบอร์ด

2

เลือกรูปแบบเอาต์พุต

สลับระหว่าง Raw, Data URI, HTML, CSS, Markdown, JSON หรือสตริง JavaScript

3

คัดลอกหรือดาวน์โหลด

คัดลอกไปยังคลิปบอร์ดด้วยคลิกเดียว หรือดาวน์โหลดข้อความที่เข้ารหัสเป็นไฟล์ .txt

4

ตรวจสอบในโค้ดของคุณ

วางลงใน HTML, CSS หรือคอมโพเนนต์ React Data URL จะแสดงผลโดยกำเนิดในเบราว์เซอร์สมัยใหม่ทุกตัว

7 วิธีใช้เอาต์พุต Base64

payload Base64 เดียวกันใช้ได้กับ 7 use case ในการใช้งานจริงที่แตกต่างกัน แต่ละแท็บในเครื่องมือของเราส่งออก snippet พร้อมคัดลอก-วางสำหรับรูปแบบที่คุณต้องการ

ลายเซ็นอีเมล

ฝัง logo ของคุณเพื่อให้แสดงใน Outlook, Gmail และ Apple Mail โดยไม่ต้องโหลดจากภายนอก

<img src="data:image/png;base64,iVBOR..." alt="Logo" />

CSS background

Inline ไอคอน < 2 KB เพื่อขจัด HTTP round-trip 1 ครั้งใน CSS วิกฤต

background: url("data:image/svg+xml;base64,PHN2..")

พรีวิว React

แสดงพรีวิวการอัปโหลดก่อนส่งไฟล์ไปยังเซิร์ฟเวอร์

<img src={`data:image/jpeg;base64,${b64}`} />

รายงาน bug Markdown

Markdown มีในตัวเองสำหรับ GitHub issue — ไม่มีลิงก์รูปภาพเสียเมื่อเวลาผ่านไป

![Screenshot](data:image/png;base64,iVBOR...)

JSON API

ส่งรูปภาพใน JSON ที่มีโครงสร้างเมื่อ schema อนุญาตเฉพาะฟิลด์ข้อความ

{ "image": "data:image/png;base64,..." }

ค่าคงที่ JavaScript

รวมทรัพยากรลงใน build โดยตรงเพื่อการดึงทรัพยากรเป็นศูนย์ในขณะรันไทม์

const logo = "data:image/png;base64,...";

TinyImagePro vs เครื่องมือ Image-to-Base64 อื่นๆ

เราสร้างเครื่องมือนี้หลังจากใช้ตัวแปลง Base64 อื่นๆ 6 ตัวและพบว่าแต่ละตัวมีจุดอ่อน — ขีดจำกัดขนาดไฟล์ ขาดรูปแบบเอาต์พุต อัปโหลดไปเซิร์ฟเวอร์ หรือไม่มีเอกสาร นี่คือการเปรียบเทียบกับทางเลือกอื่น:

เครื่องมือฝั่งไคลเอนต์ขีดจำกัดไฟล์รูปแบบเอาต์พุตFAQ จริง
TinyImageProขึ้นอยู่กับ RAM7✅ 8 ข้อ
base64.guru❌ อัปโหลด50 MB10
base64-image.de1 MB2บางส่วน
browserlingไม่ระบุ1
jam.dev4 MB3
codebeautifyไม่ระบุ1

สำหรับเนื้อหาที่อ่อนไหว (ภาพทางการแพทย์ mockup ผลิตภัณฑ์ภายใน logo ที่ยังไม่เปิดตัว) การแปลงฝั่งไคลเอนต์เป็นตัวเลือกเดียว ขีดจำกัด 50 MB ของ base64.guru ดูน่าประทับใจแต่ไม่มีความหมายหากคุณไม่สามารถอัปโหลดไฟล์ได้ตั้งแต่แรก

ประสิทธิภาพและแนวปฏิบัติที่ดีที่สุด

ตัวเลข "ค่าใช้จ่าย Base64 33%" ทำให้นักพัฒนาเข้าใจผิดมากกว่าตัวเลข web-perf อื่นๆ สิ่งที่สำคัญจริงๆ สำหรับการโหลดหน้าคือขนาดที่บีบอัดแล้วหลัง gzip หรือ brotli — และสตริง Base64 บีบอัดแตกต่างจาก binary มาก

ทรัพยากรดั้งเดิมBase64ค่าใช้จ่ายหลัง gzip
ไอคอน PNG (1 KB)1.0 KB1.4 KB+40%+5%
PNG (10 KB)10 KB13.4 KB+34%+12%
ภาพถ่าย JPG (50 KB)50 KB66.8 KB+34%+30%
SVG (ไอคอนเล็ก)0.5 KB0.7 KB+40%URL-encoded SVG: −10%
การบีบอัด gzip ลดบทลงโทษด้านขนาดของ Base64 อย่างมีนัยสำคัญ PNG 10 KB ใหญ่ขึ้น 34% ในรูป Base64 binary แต่ใหญ่ขึ้นเพียง 12% หลัง gzip — ทำให้ Base64 inlining สำหรับทรัพยากรเล็กๆ มีค่าใช้จ่ายน้อยกว่าที่เห็น

5 แนวปฏิบัติที่ดีที่สุด

Inline ทรัพยากร < 2 KB เกินขนาดนี้ ค่าใช้จ่าย bundler-bloat และ cache invalidation จะมากกว่าคำขอที่ประหยัดได้

อย่า inline ภาพ LCP (Largest Contentful Paint) เด็ดขาด พวกมันบล็อก critical rendering และป้องกันไม่ให้เบราว์เซอร์จัดลำดับความสำคัญ

สำหรับ SVG ใช้ URL-encoded SVG ไม่ใช่ Base64 URL-encoded SVG เล็กกว่าและจัดการได้ด้วย CSS (currentColor, animation)

บีบอัดรูปภาพของคุณก่อนด้วยเครื่องมือ PNG หรือ JPEG ของเรา — Base64 สืบทอดขนาดของสิ่งที่คุณเข้ารหัส

เพิ่ม Content-Security-Policy ที่อนุญาต data: ใน img-src และ style-src หากคุณให้บริการทรัพยากร Base64 แบบ cross-origin

คำถามที่พบบ่อยเกี่ยวกับ Image to Base64

รูปภาพของฉันถูกอัปโหลดไปยังเซิร์ฟเวอร์ของคุณหรือไม่? ไม่ TinyImagePro อ่านแต่ละไฟล์ด้วย FileReader API ของเบราว์เซอร์และประมวลผลในเครื่อง คุณสามารถตัดการเชื่อมต่ออินเทอร์เน็ตหลังจากโหลดหน้าและการแปลงยังคงทำงาน ตรวจสอบในแท็บ Network ของเบราว์เซอร์

ทำไมสตริง Base64 ของฉันใหญ่กว่าต้นฉบับ ~33%? Base64 แทนทุก 3 ไบต์ของ binary ด้วย 4 อักขระ ASCII — ค่าใช้จ่ายทางคณิตศาสตร์ 33.3% ก่อนการขึ้นบรรทัดใหม่และคำนำหน้า data:image/...;base64, หลัง gzip บทลงโทษจริงสำหรับทรัพยากรเล็กๆ ลดเหลือ 5–15%

ใช้กับ SVG ได้ไหม? ได้ แต่สำหรับ SVG โดยเฉพาะ คุณควรพิจารณา URL-encoded SVG แทน — เล็กกว่าและจัดสไตล์ด้วย CSS ได้ เรารองรับการป้อน SVG เพื่อให้คุณทดลอง แต่ตัวแปลง PNG เป็น SVGของเราเป็นจุดเริ่มต้นที่ดีกว่าสำหรับเวิร์กโฟลว์การ vector

จะถอดรหัส Base64 กลับเป็นรูปภาพได้อย่างไร? วาง Data URL ในแถบที่อยู่ของเบราว์เซอร์ — เบราว์เซอร์สมัยใหม่แสดง data:image/... URL โดยกำเนิด ในเชิงโปรแกรม ถอดรหัสด้วย atob() ใน JavaScript หรือ base64.b64decode() ใน Python เครื่องมือ Base64 เป็นรูปภาพโดยเฉพาะอยู่ในแผนงานของเรา

PNG to SVG converterHEIC to JPEG converter

คำถามที่พบบ่อย

ใช่ — ฟรี 100% ไม่ต้องสมัคร ไม่มีลายน้ำ ไม่มีขีดจำกัดอัตรา การแปลงทำงานในเบราว์เซอร์ของคุณทั้งหมดผ่าน FileReader API

ไม่ ไฟล์จะถูกอ่านในเครื่องด้วย FileReader API ของเบราว์เซอร์ คุณสามารถตัดการเชื่อมต่ออินเทอร์เน็ตหลังโหลดหน้าได้และการแปลงยังคงทำงาน

ไม่มีขีดจำกัดที่เข้มงวด ขีดจำกัดคือ RAM ของอุปกรณ์ของคุณ เราได้ทดสอบไฟล์ PNG ขนาดถึง 100 MB บนแล็ปท็อป 16 GB

base64.guru มีรูปแบบเอาต์พุตมากกว่า (10 vs ของเรา 7) แต่อัปโหลดไฟล์ไปยังเซิร์ฟเวอร์ base64-image.de ทำงานในเครื่องแต่จำกัดขนาด 1 MB เรารวมความเป็นส่วนตัวฝั่งไคลเอนต์ + ไม่มีขีดจำกัดขนาด + 7 รูปแบบพร้อมใช้งานจริง

Base64 แสดงไบนารี 3 ไบต์เป็น ASCII 4 อักขระ — ค่า overhead ทางคณิตศาสตร์ 33.3% หลังการบีบอัด gzip ระหว่างส่ง ค่าใช้จ่ายจริงสำหรับไฟล์เล็กลดเหลือ 5-15%

หลีกเลี่ยง Base64 สำหรับภาพที่ใหญ่กว่า ~2 KB บน critical render path ภาพที่ต้องการให้เบราว์เซอร์แคชอย่างอิสระ และ SVG (URL-encoded SVG เล็กกว่าและจัดการได้ด้วย CSS)

JPEG, PNG, WebP, GIF, BMP, ICO และ SVG ทำงานโดยตรง HEIC ต้องแปลงก่อน — ใช้เครื่องมือแปลง HEIC เป็น JPEG ของเรา

วาง Data URL ในแถบที่อยู่ของเบราว์เซอร์ — เบราว์เซอร์สมัยใหม่เรนเดอร์ data:image/... โดยตรง โปรแกรมเมอร์ใช้ atob() ใน JavaScript หรือ base64.b64decode() ใน Python

ตัวแปลงรูปภาพเป็น Base64 — ฟรี ทำงานบนเบราว์เซอร์ | TinyImagePro