Panduan Ruang Warna

Lihat warna, palet, gradien, atau gambar di setiap ruang warna. Dari web hingga cetak, dari pemilih warna hingga riset, dari 1860 hingga 2026.

Layar & web32

Ruang RGB untuk penyuntingan dan distribusi, dari standar web hingga gamut layar yang lebih lebar.

HP & Microsoft, 1996sRGB

Silindris11

Kontrol rona, saturasi, dan terang-gelap yang dibangun di atas RGB. Langkah yang sama besar belum tentu tampak sama.

Joblove & Greenberg, 1978HSL
Alvy Ray Smith, 1978HSV
Alvy Ray Smith, 1996HWB
Alvy Ray Smith, 1978HSV
Alvy Ray Smith, 1996HWB
John R. Kender, 1976HSI
Hanbury, 2003IHLS
community convention, 2011HCG
Ian Taylor, 2012HCL
Darel Rex Finley, 2006HSP
Kuzma Shapran, 2012HCY
Osvaldo Severino Jr & Adilson Gonzaga, 2009HSM

Perseptual65

Koordinat untuk membandingkan warna, menyusun palet, dan memprediksi tampilan warna.

Björn Ottosson, 2020OKLCH
Li et al., 2017CAM16
Li et al., 2017CAM16
Björn Ottosson, 2020OKLab
Alexei Boronine, 2012HSLuv
Alexei Boronine, 2012HPLuv
Google, 2021HCT
Björn Ottosson, 2021Okhsl
Björn Ottosson, 2021Okhsv
Björn Ottosson, 2021Okhwb
Björn Ottosson, 2021OKLrAB
Björn Ottosson, 2021OKLrCH
Konovalenko et al., 2021proLab
Li & Luo, 2024sUCS
Luke Hellwig & Mark Fairchild, 2020IgPgTg
Görkem Yıldız, 2026HelmGen
Safdar et al., 2017JzAzBz
Safdar et al., 2017JzCzHz
Fritz Ebner & Mark Fairchild, 1998IPT
Safdar et al., 2017IzAzBz
Mark Fairchild & Garrett Wyble, 2010hdr‑IPT
Huang et al., 2024IaPbP
Kenneth Moreland, 2009Msh
Safdar et al., 2021ZCAM
Li & Luo, 2024sCAM
Mark Fairchild, 1996RLAB
Luo et al., 1996LLAB
Robert W. G. Hunt, 1994Hunt
Sherman Lee Guth, 1995ATD95
Bratkova et al., 2009oRGB

Kolorimetri25

Dasar-dasar pengukuran warna, mata manusia, dan koordinat khusus untuk riset.

CIE, 1931xyY
Estévez et al., 1979LMS
CIE, 1931xyY
Estévez et al., 1979LMS
Raymond Davis; CIE, 1931Kelvin
Derrington et al., 1984DKL
Hermann von Helmholtz, 1860CIE DSH
Richard Kirk, 2019Yrg
Jyrki Alakuijala et al., 2019XYB
Terrillon & Akamatsu, 2000TSL
Xerox, 1989YES
Ruderman et al., 1998lαβ
Flohr et al., 1993YyCxCz

Video23

Pemisahan terang-gelap dari warna untuk penyiaran, kompresi, dan distribusi HDR.

Walter Bruch / Telefunken, 1967YUV
NTSC, 1953–82YIQ
Malvar & Sullivan, 2003YCgCo
Eric Hamilton / C-Cube Microsystems, 1992JPEG YCbCr
Henri de France, 1967YDbDr
Sony / IEC, 2006xvYCC
Julian Fröhlich, 2017ICaCb

Kamera58

Penyandian log kamera dan ruang warna kerja untuk perekaman dan color grading.

ARRI, 2010–22LogC3
ARRI, 2010–22LogC3
RED Digital Cinema, 2017Log3G10
SMPTE/DCI, 2006DCDM
RED Digital Cinema, 2007–08REDLog
RED Digital Cinema, 2016–17Log3G12
Panavision / Sony, 2005Panalog
Thomson Grass Valley, 2002ViperLog

Cetak7

Tinta, cat, dan penataan warna permukaan berdasarkan pengukuran.

Eagle Printing Ink Co., 1906CMYK
Albert H. Munsell, 1905Munsell
Johannes Itten, 1961RYB
Albert H. Munsell, 1905Munsell
Johannes Itten, 1961RYB
Louis Ducos du Hauron, 1868–1906CMY

Penggunaan

JavaScript

Seluruh pustaka: 221 ruang, 71 kB setelah gzip—setiap ruang ke ruang lain mana pun, dua arah.

npm install color-space
import space from 'color-space'

space.rgb.oklch(255, 128, 0)      // → [0.732, 0.186, 53]
space.oklch.rgb(0.65, 0.1, 180)   // → [56.14, 162.97, 145.41]
space.oklch.range                 // [[0,1], [0,0.4], [0,360]]

Atau satu ruang saja—bundelnya tidak memuat apa pun selain itu.

import oklch from 'color-space/oklch.js'

oklch.rgb(0.65, 0.1, 180)   // → [56.14, 162.97, 145.41]

Bertipe: deklarasi TypeScript disertakan dalam paket, untuk seluruh pustaka maupun untuk tiap ruang secara terpisah.

Apa itu ruang warna?

Sistem koordinat untuk warna: sumbu, rentang, dan aturan yang mengikat angka-angkanya ke cahaya yang terukur. Penglihatan manusia bersifat trikromatik, dengan tiga jenis sel kerucut (S, M, L), sehingga dibutuhkan minimal tiga koordinat untuk menyatakan warna apa pun yang dapat dilihat mata. Jingga yang sama ditulis rgb(255 128 0), oklch(0.732 0.186 53), dan XYZ [49, 36.7, 4.5]. Palet adalah segelintir warna pilihan; ruang warna adalah cara untuk menuliskan warna apa pun.

Model warna atau ruang warna—apa bedanya?

Model warna menentukan bentuk angkanya: RGB berarti tiga warna primer, HSL berarti rona, saturasi, dan kecerahan, CMYK berarti empat tinta. Ruang warna mengikat model itu ke cahaya yang terukur—primer yang mana, putih yang mana, kurva yang mana—sehingga setiap set angka menunjuk tepat satu warna. rgb(255 0 0) adalah merah yang berbeda di sRGB, Display P3, dan Adobe RGB: satu model, tiga ruang.

Dalam pemakaian sehari-hari keduanya disebut ruang—begitu pula di color-mix(in hsl, …) pada CSS, dan di katalog ini. Model yang tidak punya acuan sendiri ke cahaya terukur memakai acuan ruang lain: di sini HSL dan HSV adalah bentuk lain dari sRGB, seperti di CSS.

Ruang mana yang sebaiknya saya pakai?

Tergantung tugasnya:

  • menyimpan dan berbagi gambar—sRGB, bawaan web;
  • merancang palet dan gradien—OKLCH, tempat langkah yang sama besar tampak sama;
  • perhitungan cahaya (pencampuran, pengaburan, 3D)—RGB cahaya linear;
  • merekam dan melakukan color grading video—ruang log kamera Anda, didistribusikan dalam Rec. 709 atau Rec. 2100;
  • mengukur seberapa berbeda dua warna terlihat—CIELAB atau DIN99o.

Untuk melihat semua ruang menurut tugasnya, kelompokkan katalog berdasarkan kegunaan.

Apa yang sebaiknya dipakai sebagai pengganti HSL?

OKLCH. Ruang ini mempertahankan tiga kontrol yang sama—rona, kroma, kecerahan—tetapi kecerahannya bisa dipercaya: di HSL, kuning pada L=50 memancarkan cahaya sekitar 13 kali lebih banyak daripada biru pada L=50, jadi L yang sama tidak berarti sama terang. Di OKLCH, L yang sama memang berarti sama terang. CSS mendukung oklch() secara bawaan.

Bagaimana cara mengonversi hex ke OKLCH?

Ketik atau tempel ke kolom warna di bagian atas, misalnya #ff8000. Setiap ruang di halaman langsung menampilkan warna itu; di OKLCH nilainya 0.732, 0.186, 53, yang dalam CSS ditulis oklch(0.732 0.186 53). Tab css di setiap rincian memberikan bentuk yang siap disalin, dan dalam kode: space.rgb.oklch(255, 128, 0).

Mengapa warna gradien tampak kusam di tengah?

Karena gradien dihitung dalam sRGB yang disandikan dengan gama, dan di sana rata-rata angka dua warna menghasilkan cahaya yang lebih gelap dan kusam daripada jika cahayanya benar-benar dicampur. Interpolasi di OKLab menghindari hal ini; di CSS caranya linear-gradient(in oklab, red, blue). Baris interpolasi di setiap rincian menggambar campuran yang sama melalui dua ruang berdampingan, jadi Anda bisa melihat bedanya sebelum memilih.

Bagaimana cara mengonversi S-Log3 atau log kamera lain ke Rec. 709?

Buka ruang log kamera Anda, misalnya S-Log3, LogC4, atau Apple Log. Di blok LUT, pilih Rec. 709 dan editor Anda: DaVinci Resolve, Premiere Pro, Final Cut Pro, OBS, ffmpeg, dan lainnya. Peramban Anda membuat berkas .cube-nya. Ini konversi teknis tanpa pemetaan tona: bagian terang di atas putih difus terpotong, dan gaya visualnya Anda tambahkan sendiri.

Apa arti “di luar gamut”?

Warna yang dapat dinyatakan oleh satu ruang, tetapi tidak dapat ditampilkan oleh ruang lain—atau oleh layar Anda. Hijau Display P3 yang pekat tidak ada di sRGB: jika dikonversi, angkanya jatuh di luar rentang yang valid. Atlas ini menampilkannya dengan jelas: tanda ⚠ di samping warna saat ini menandakan warna itu berada di luar Batas yang Anda pilih, menahan Alt di atas bidang atau strip menunjukkan gamut lebih lebar mana yang dibutuhkan warna di situ (P3, Rec. 2020), dan bagian di luar rentang tampil samar di atas pola papan catur.

Mengapa hasil cetak tampak lebih kusam daripada di layar?

Layar memancarkan cahaya; kertas memantulkan cahaya yang tidak diserap tintanya. Tinta di atas kertas menjangkau lebih sedikit warna pekat—biru, hijau, dan merah RGB yang jenuh berada di luar jangkauannya—sehingga hasil cetaknya lebih kusam. Pracetak mengonversi warna melalui profil ICC yang dibuat untuk mesin cetak dan kertasnya, misalnya FOGRA39 untuk kertas coated Eropa atau GRACoL di AS. CMYK di katalog ini adalah rumus sederhana yang dipakai CSS untuk device-cmyk() tanpa profil—benar untuk angkanya, tetapi bukan pengganti cetak coba.

Dalam ruang warna apa sebaiknya saya mengekspor foto?

Untuk web dan untuk dibagikan: sRGB—peramban dan ponsel menganggap gambar memakai sRGB jika berkasnya tidak membawa profil. Display P3 menyimpan lebih banyak warna pekat dari pemandangan di layar Apple dan banyak layar Android, selama profilnya tetap tertanam. Kirim Adobe RGB jika lab cetak memintanya. Simpan ProPhoto RGB untuk penyuntingan 16-bit: gamutnya begitu lebar sehingga gradasi pada berkas 8-bit pecah bertingkat (banding).

Apakah konversinya tepat? Apakah konversi bolak-balik kehilangan data?

Konversi memakai rumus bentuk tertutup, bukan pendekatan dengan tabel, dan konversi bolak-balik kembali ke nilai awal dengan selisih sebatas galat floating-point. Beberapa pengecualian didokumentasikan di tempatnya: OSA-UCS tidak memiliki invers bentuk tertutup, dan sistem atlas seperti Munsell menginterpolasi di antara tingkat-tingkat yang dipublikasikan. Keluaran rgb tidak pernah dipotong: warna di luar sRGB dikembalikan dengan nilai di bawah 0 atau di atas 255, jadi potong nilainya hanya saat menampilkannya.

Konversinya juga diperiksa: setiap ruang menautkan makalah atau spesifikasi yang diterapkannya, nilainya diuji terhadap colorjs.io di semua ruang yang dimiliki keduanya, dan log kamera diuji terhadap transformasi ACES resmi dari Academy. formula-verification.md mencatat apa diperiksa terhadap apa—termasuk beberapa tempat di mana makalah yang dipublikasikan itu sendiri mengandung kesalahan.

Jika angkanya berbeda dari pustaka lain, bandingkan rentangnya: pustaka ini mempertahankan rentang konvensional setiap ruang—RGB 0–255, kecerahan Lab 0–100, rona 0–360—sementara banyak pustaka meratakan semuanya ke 0–1. Setiap kartu menampilkan rentangnya; dalam kode, rentang itu ada di space.oklch.range.

Mana saja yang bisa ditulis dalam CSS?

Secara bawaan: rgb(), hsl(), hwb(), lab(), lch(), oklab(), oklch(), ditambah color() untuk Display P3, Adobe RGB, ProPhoto, sRGB linear, dan XYZ (D65 dan D50). rec2020 di CSS memakai gama 2.4 murni, bukan kurva BT.2020 seperti Rec. 2020 di katalog ini—angka yang sama akan menunjuk warna yang berbeda. Tab css di setiap rincian menuliskan warna saat ini dalam bentuk yang siap disalin; ruang yang tidak ada di CSS tersedia sebagai profil ICC atau LUT.

Bagaimana warna terlihat oleh penyandang buta warna?

Buka Tampilan dan pilih Penglihatan: buta warna merah (protanopia), buta warna hijau (deuteranopia), atau buta warna biru (tritanopia). Katalog digambar ulang seperti yang dilihat mata tersebut, sehingga Anda bisa memeriksa apakah warna-warna dalam palet tetap bisa dibedakan. Sekitar 1 dari 12 laki-laki mengalami gangguan penglihatan warna, menurut data NEI.

Di mana Pantone, NCS, RAL?

Itu produk berlisensi: warnanya ditentukan oleh data yang dijual pemiliknya, bukan oleh rumus yang dipublikasikan—jadi tidak ada matematika terbuka yang bisa diterapkan, dan menyebarluaskan tabelnya tidak legal. Sistem serupa yang matematikanya terbuka ada di sini: Munsell (renotasi 1943-nya adalah dokumen publik) dan RAL Design (didefinisikan langsung dalam CIELAB). Setiap sistem yang matematikanya pernah dipublikasikan layak ada di sini; usulkan yang belum ada.

Alternatif

Perbandingan pustaka konversi warna.
AlatRuangLog kameraLuma–kromasRGBFiturUkuranKecepatanTarget
color-space20531160–255
parse mix ΔE contrast CVD
62 kBJS, WASM, GL, LUT, ICC, OCIO, MCP, Figma, VS Code, CLI, web
culori30–10–1
parse mix gamut ΔE contrast CVD
23 kBJS
colorjs.io51––0–1
parse mix gamut ΔE contrast
34 kBJS, web
chroma-js11––0–255
parse mix ΔE contrast palettes
17 kBJS
@texel/color16––0–1
parse gamut ΔE
9 kBJS
colour-science1282460–1
ΔE CVD
––Python, LUT
ColorAide77––0–1
parse mix gamut ΔE contrast CVD palettes
––Python
colorspace (R)9––0–1
mix contrast CVD palettes
––R, web
OpenColorIO5711–0–1
gamut
––C++, Python, GL, LUT, ICC
Bruce Lindbloom22––0–1, 0–255
ΔE
––web
oklch.com9––0–255
parse gamut
––web

Dari sumber, paket, atau halaman masing-masing proyek, 2026-10-18.

Disalin