วิธีแปลง RGB เป็น hex
- ป้อนค่าสีแดง เขียว และน้ำเงิน (0–255) ด้วยแถบเลื่อนหรือช่องตัวเลข หรือวางค่า CSS
rgb() - โค้ด hex จะแสดงทันที พร้อมค่า HSL, HSV และ CMYK ตั้งค่า alpha ให้น้อยกว่า 1 เพื่อรับโค้ด hex 8 หลักที่มีความโปร่งใส
- คัดลอกโค้ด hex หรือดูสูตรเพื่อเข้าใจว่าแต่ละค่าถูกแปลงอย่างไร
สูตรแปลง RGB เป็น Hex
แต่ละช่องสี RGB ที่มีค่า 0 ถึง 255 จะกลายเป็นเลขฐานสิบหกสองหลักพอดี ให้นำค่าหารด้วย 16: ผลหารที่เป็นจำนวนเต็มคือหลักแรก และเศษคือหลักที่สอง โดยเขียน 10–15 เป็น A–F ตัวอย่างสำหรับ rgb(124, 58, 237):
- แดง: 124 ÷ 16 = 7 เศษ 12 →
7C - เขียว: 58 ÷ 16 = 3 เศษ 10 →
3A - น้ำเงิน: 237 ÷ 16 = 14 เศษ 13 →
ED
นำมาต่อกันหลัง # จะได้ #7C3AED ต้องเขียนสองหลักต่อช่องสีเสมอ: 9 ต้องเป็น 09 ไม่ใช่ 9
แปลง RGB เป็น hex ในโค้ด
- JavaScript:
'#' + [r, g, b].map((v) => v.toString(16).padStart(2, '0')).join('') - Python:
'#{:02X}{:02X}{:02X}'.format(r, g, b) - Excel และ Google Sheets:
="#"&DEC2HEX(R,2)&DEC2HEX(G,2)&DEC2HEX(B,2) - CSS: ไม่ต้องแปลง –
rgb()และโค้ด hex ใช้แทนกันได้
การเพิ่มความโปร่งใส (alpha)
สำหรับโค้ด 8 หลัก ให้นำค่าความทึบ (0–1) คูณด้วย 255 ปัดเป็นจำนวนเต็ม แล้วต่อท้ายเป็นเลขฐานสิบหกอีกสองหลัก: 0.5 × 255 = 127.5 → 128 → 80 ดังนั้น rgba(124, 58, 237, 0.5) = #7C3AED80
| ความทึบ | Hex | ความทึบ | Hex |
|---|---|---|---|
| 100% | FF | 50% | 80 |
| 90% | E6 | 40% | 66 |
| 80% | CC | 30% | 4D |
| 75% | BF | 25% | 40 |
| 70% | B3 | 20% | 33 |
| 60% | 99 | 10% | 1A |
คำถามที่พบบ่อย
สูตรแปลง RGB เป็น hex คืออะไร?
สำหรับแต่ละช่องสี หลัก hex แรกคือค่าที่หารด้วย 16 (เอาเฉพาะจำนวนเต็ม) และหลักที่สองคือเศษ โดยเขียน 10–15 เป็น A–F แล้วนำสามคู่มาต่อกันหลัง #: rgb(255, 165, 0) → FF, A5, 00 → #FFA500
ทำไมแต่ละช่องสีต้องมีเลข hex สองหลัก?
โค้ดสี hex ถูกอ่านเป็นคู่ที่ตายตัว rgb(0, 128, 9) ต้องเขียนเป็น #008009 หากตัด 0 ที่นำหน้าออก คู่ตัวเลขจะเลื่อนตำแหน่งและได้สีที่ต่างไปหรือโค้ดที่ไม่ถูกต้อง
โค้ดสี hex เก็บความโปร่งใสได้ไหม?
ได้ เบราว์เซอร์รุ่นใหม่รองรับโค้ด 8 หลัก #RRGGBBAA โดยคู่สุดท้ายคือค่า alpha ตั้งแต่ 00 (โปร่งใสทั้งหมด) ถึง FF (ทึบ) เช่น rgba(124, 58, 237, 0.5) จะกลายเป็น #7C3AED80
การแปลง RGB เป็น hex แม่นยำ 100% หรือไม่?
แม่นยำสำหรับค่า RGB ที่เป็นจำนวนเต็ม: ทุกตัวเลขตั้งแต่ 0 ถึง 255 มีรูปแบบ hex สองหลักเพียงแบบเดียว การแปลงกลับจึงได้ค่าเดิมทุกครั้ง มีเพียงค่า alpha ที่ถูกปัดเป็นระดับที่ใกล้ที่สุดจาก 256 ระดับ