File size: 16,495 Bytes
4db6e59
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
d1bcf2c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>IntelliJ Plugin: Contrast-Checked Editor Themes — Dark, Light and Low-Blue Night (WCAG 7:1 on every syntax color)</title>
<meta name="description" content="You look at this editor more hours than you look at any human face. A theme that is pretty at midnight and unreadable at 10am in a bright room is a theme you fight all day. These 4 themes are measured, not eyeballed. W3C WCAG 2.1 (2018), success criterion 1.4.6, asks for 7:1 contrast for normal text">
<link rel="canonical" href="https://getreadystack.com/tools/intellij-plugin-editor-themes">
<script data-grow-initializer="">!(function(){window.growMe||((window.growMe=function(e){window.growMe._.push(e);}),(window.growMe._=[]));var e=document.createElement("script");(e.type="text/javascript"),(e.src="https://faves.grow.me/main.js"),(e.defer=!0),e.setAttribute("data-grow-faves-site-id","U2l0ZTphZjljMzgyMC0yMmU5LTRhYjgtYTIxNS03OTRhMGY1N2ExYzM=");var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t);})();</script>
</head>
<body>
<!doctype html><meta charset="utf-8"><title>IntelliJ Plugin: Contrast-Checked Editor Themes — Dark, Light and Low-Blue Night (WCAG 7:1 on every syntax color) — JetBrains theme preview</title><body style="font:15px/1.6 system-ui;max-width:780px;margin:40px auto;padding:0 16px"><h1>IntelliJ Plugin: Contrast-Checked Editor Themes — Dark, Light and Low-Blue Night (WCAG 7:1 on every syntax color)</h1><p>You look at this editor more hours than you look at any human face. A theme that is pretty at midnight and unreadable at 10am in a bright room is a theme you fight all day.

These 4 themes are measured, not eyeballed. W3C WCAG 2.1 (2018), success criterion 1.4.6, asks for 7:1 contrast for normal text. Every one of the 44 text colors here — 11 syntax roles x 4 themes — measures at least 7.0:1 against its own background, and at least 4.9:1 against its own selection background, so a selected line stays readable instead of turning into a smear. Verify any pair yourself in any contrast checker; the hex values are printed below.

Keyword, string, number, function, type, comment (muted) and error each carry a distinct hue in every theme, so you tell them apart by color and not by squinting.

Two axes, four themes:
  Deep Dark    - night / dim room, neutral grey
  Deep Light   - daylight / bright office, neutral grey
  Amber Night  - late night, blue channel pulled down
  Warm Paper   - daylight, blue channel pulled down, paper-toned
The role-to-color mapping is identical across all four, so switching by ambient light does not make you relearn what a string looks like.

PALETTE VALUES (paste these into your terminal, tmux or shell prompt so the rest of your desk matches the IDE):

Deep Dark   bg #14171C  bg_alt #1A1E25  fg #E8EBF0  muted #A6B0BE  border #2C333D  selection #2F3E52  accent #79C0FF  keyword #D2A8FF  string #8DDB9A  number #FFC08A  func #7FD6E8  type #F2C97D  green #8DDB9A  blue #79C0FF  red #FF9C9C
Deep Light  bg #FBFCFD  bg_alt #F1F3F6  fg #14181E  muted #4C5663  border #D5DBE3  selection #CFE3F7  accent #0A54AB  keyword #6F27B0  string #186031  number #8A4300  func #0B4FA8  type #6E4300  green #186031  blue #0B4FA8  red #A81C1C
Amber Night bg #16130F  bg_alt #1C1813  fg #F0E9DE  muted #B5A794  border #342D24  selection #3D3427  accent #FFC46B  keyword #F2B6D0  string #B9D98C  number #FFD08A  func #9CD6C6  type #E9CB8A  green #B9D98C  blue #A8CBE8  red #FFA79B
Warm Paper  bg #FAF6EF  bg_alt #F1EBE1  fg #1B1712  muted #574E42  border #DED5C7  selection #E8DCC4  accent #6F4800  keyword #6E2E9E  string #1A5730  number #7A4104  func #0F4E93  type #6B4405  green #1A5730  blue #0F4E93  red #992222

Install, open Settings > Appearance & Behavior > Appearance > Theme, pick one. Three steps, no account, no telemetry, works offline.

A free browser color picker gives you colors; it does not give you a theme file the IDE will load, and it does not check the pair you just chose against the selection background you will actually be reading on.

7-day full refund. When the IntelliJ platform changes its theme keys in a new yearly release, the updated build lands in this same listing at no extra cost. Questions: one email, answered.</p><section style="background:#14171C;color:#E8EBF0;padding:18px;border-radius:12px;margin:14px 0"><h2 style="margin:0 0 8px">ReadyStack Contrast — Deep Dark</h2><div style="display:flex;gap:4px;flex-wrap:wrap;margin:10px 0"><div style="background:#14171C" title="bg"></div><div style="background:#1A1E25" title="bg_alt"></div><div style="background:#E8EBF0" title="fg"></div><div style="background:#A6B0BE" title="muted"></div><div style="background:#2C333D" title="border"></div><div style="background:#2F3E52" title="selection"></div><div style="background:#79C0FF" title="accent"></div><div style="background:#D2A8FF" title="keyword"></div><div style="background:#8DDB9A" title="string"></div><div style="background:#FFC08A" title="number"></div><div style="background:#7FD6E8" title="func"></div><div style="background:#F2C97D" title="type"></div><div style="background:#8DDB9A" title="green"></div><div style="background:#79C0FF" title="blue"></div><div style="background:#FF9C9C" title="red"></div></div><pre style="background:#1A1E25;padding:12px;border-radius:8px;overflow:auto"><code><span style="color:#D2A8FF">def</span> <span style="color:#7FD6E8">greet</span>(name):
    <span style="color:#A6B0BE"># say hello</span>
    return <span style="color:#8DDB9A">f"hi {name}"</span></code></pre></section><section style="background:#FBFCFD;color:#14181E;padding:18px;border-radius:12px;margin:14px 0"><h2 style="margin:0 0 8px">ReadyStack Contrast — Deep Light</h2><div style="display:flex;gap:4px;flex-wrap:wrap;margin:10px 0"><div style="background:#FBFCFD" title="bg"></div><div style="background:#F1F3F6" title="bg_alt"></div><div style="background:#14181E" title="fg"></div><div style="background:#4C5663" title="muted"></div><div style="background:#D5DBE3" title="border"></div><div style="background:#CFE3F7" title="selection"></div><div style="background:#0A54AB" title="accent"></div><div style="background:#6F27B0" title="keyword"></div><div style="background:#186031" title="string"></div><div style="background:#8A4300" title="number"></div><div style="background:#0B4FA8" title="func"></div><div style="background:#6E4300" title="type"></div><div style="background:#186031" title="green"></div><div style="background:#0B4FA8" title="blue"></div><div style="background:#A81C1C" title="red"></div></div><pre style="background:#F1F3F6;padding:12px;border-radius:8px;overflow:auto"><code><span style="color:#6F27B0">def</span> <span style="color:#0B4FA8">greet</span>(name):
    <span style="color:#4C5663"># say hello</span>
    return <span style="color:#186031">f"hi {name}"</span></code></pre></section><section style="background:#16130F;color:#F0E9DE;padding:18px;border-radius:12px;margin:14px 0"><h2 style="margin:0 0 8px">ReadyStack Contrast — Amber Night</h2><div style="display:flex;gap:4px;flex-wrap:wrap;margin:10px 0"><div style="background:#16130F" title="bg"></div><div style="background:#1C1813" title="bg_alt"></div><div style="background:#F0E9DE" title="fg"></div><div style="background:#B5A794" title="muted"></div><div style="background:#342D24" title="border"></div><div style="background:#3D3427" title="selection"></div><div style="background:#FFC46B" title="accent"></div><div style="background:#F2B6D0" title="keyword"></div><div style="background:#B9D98C" title="string"></div><div style="background:#FFD08A" title="number"></div><div style="background:#9CD6C6" title="func"></div><div style="background:#E9CB8A" title="type"></div><div style="background:#B9D98C" title="green"></div><div style="background:#A8CBE8" title="blue"></div><div style="background:#FFA79B" title="red"></div></div><pre style="background:#1C1813;padding:12px;border-radius:8px;overflow:auto"><code><span style="color:#F2B6D0">def</span> <span style="color:#9CD6C6">greet</span>(name):
    <span style="color:#B5A794"># say hello</span>
    return <span style="color:#B9D98C">f"hi {name}"</span></code></pre></section><section style="background:#FAF6EF;color:#1B1712;padding:18px;border-radius:12px;margin:14px 0"><h2 style="margin:0 0 8px">ReadyStack Contrast — Warm Paper</h2><div style="display:flex;gap:4px;flex-wrap:wrap;margin:10px 0"><div style="background:#FAF6EF" title="bg"></div><div style="background:#F1EBE1" title="bg_alt"></div><div style="background:#1B1712" title="fg"></div><div style="background:#574E42" title="muted"></div><div style="background:#DED5C7" title="border"></div><div style="background:#E8DCC4" title="selection"></div><div style="background:#6F4800" title="accent"></div><div style="background:#6E2E9E" title="keyword"></div><div style="background:#1A5730" title="string"></div><div style="background:#7A4104" title="number"></div><div style="background:#0F4E93" title="func"></div><div style="background:#6B4405" title="type"></div><div style="background:#1A5730" title="green"></div><div style="background:#0F4E93" title="blue"></div><div style="background:#992222" title="red"></div></div><pre style="background:#F1EBE1;padding:12px;border-radius:8px;overflow:auto"><code><span style="color:#6E2E9E">def</span> <span style="color:#0F4E93">greet</span>(name):
    <span style="color:#574E42"># say hello</span>
    return <span style="color:#1A5730">f"hi {name}"</span></code></pre></section>
<section data-yj-cta="paid" style="margin:3rem auto;max-width:46rem;padding:1.5rem 1.25rem;border:1px solid #d8dee9;border-radius:12px;background:#fbfcfe;font:16px/1.6 system-ui,-apple-system,Segoe UI,sans-serif"><h2 style="margin:0 0 .5rem;font-size:1.25rem">Get the complete version</h2><p style="margin:.25rem 0 1rem;color:#41505f">This page is the working piece. The full pack has everything below.</p><p style="margin:0 0 1rem;color:#41505f">Bind the theme switch to a shortcut (Settings &gt; Keymap &gt; search 'Switch Theme') and flip Deep Dark / Deep Light when the room light changes, instead of squinting through the afternoon.</p><p style="margin:0 0 1rem;color:#5b6b7c;font-size:.94rem">Checkable, not a price claim. W3C WCAG 2.1 (2018), success criterion 1.4.6 (Contrast Enhanced), requires 7:1 for normal text. All 44 text colors in this plugin — 11 syntax roles x 4 themes — measure at least 7.0:1 against their ow</p><a href="https://getreadystack.com/free?p=intellij-plugin-editor-themes&amp;lang=en" rel="nofollow" style="display:inline-block;padding:.7rem 1.3rem;border-radius:8px;background:#1b64f2;color:#fff;text-decoration:none;font-weight:600">Send it to me</a></section>
<section class="yj-related" style="max-width:920px;margin:56px auto 40px;padding:0 20px"><h2 style="font:600 21px/1.3 system-ui,sans-serif;margin:0 0 6px;color:#1b1f24">More from ReadyStack</h2><p style="font:400 14.5px/1.5 system-ui,sans-serif;margin:0 0 20px;color:#5b6570">Ready-to-use files. One-time download, no subscription.</p><div style="display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px"><a class="yj-rel-c" href="https://getreadystack.com/tools/healthcare-icon-pack-ui-kit"><span class="yj-rel-t">Healthcare Icon Pack? Start With the Screen — Patient-Safety UI Kit for Figma </span><span class="yj-rel-p">$168</span></a><a class="yj-rel-c" href="https://getreadystack.com/tools/drone-lut-pack"><span class="yj-rel-t">Drone Videographer LUTs for Aerial Real Estate and Travel Footage</span><span class="yj-rel-p">$100</span></a><a class="yj-rel-c" href="https://getreadystack.com/tools/jewelry-shopify-theme"><span class="yj-rel-t">Jewelry Shopify Theme - Ring Size Guide | Hallmark Wording, Made-to-Order and </span><span class="yj-rel-p">$200</span></a><a class="yj-rel-c" href="https://getreadystack.com/tools/ats-resume-template"><span class="yj-rel-t">ATS Resume Template — 6 Fill-In Word Documents for US Job Applications (Manage</span><span class="yj-rel-p">$29</span></a><a class="yj-rel-c" href="https://getreadystack.com/en/p/chronological-resume-template-recruiter-ready-in-20-minutes"><span class="yj-rel-t">Chronological Resume Template: Recruiter-Ready in 20 Minutes, Built to Get Sho</span><span class="yj-rel-p">$12</span></a><a class="yj-rel-c" href="https://getreadystack.com/tools/lawyer-website-template"><span class="yj-rel-t">Lawyer Website Template — 7-Page HTML Site for a Solo Law Office (No Subscript</span><span class="yj-rel-p">$49</span></a></div><style>.yj-rel-c{display:flex;flex-direction:column;gap:8px;padding:15px 16px;border:1px solid #e2e6ea;border-radius:6px;text-decoration:none;background:#fff}.yj-rel-c:hover{border-color:#b9c2cb;background:#fafbfc}.yj-rel-t{font:500 14.5px/1.42 system-ui,sans-serif;color:#1b1f24}.yj-rel-p{font:600 13px system-ui,sans-serif;color:#0a6238}</style></section><!--yj-share-s101--><div style="margin:28px 0 8px;text-align:center"><button id="yjcp" type="button" style="font:inherit;padding:10px 18px;border:1px solid #8884;border-radius:10px;background:transparent;cursor:pointer">Copy link</button></div><script>(function(){var b=document.getElementById("yjcp");if(!b)return;var t=b.textContent;b.addEventListener("click",function(){var u=location.href.split("#")[0];function d(){b.textContent="Link copied";setTimeout(function(){b.textContent=t;},1800);}if(navigator.clipboard&&navigator.clipboard.writeText){navigator.clipboard.writeText(u).then(d,function(){prompt("",u);});}else{prompt("",u);}});})();</script>
<script data-yj="yj-view-beacon">(function(){try{var p=location.pathname;var k='yjv:'+p;if(sessionStorage.getItem(k))return;sessionStorage.setItem(k,'1');fetch('/api/ev',{method:'POST',keepalive:true,headers:{'Content-Type':'application/json'},body:JSON.stringify({path:p,lang:"en"})}).catch(function(){});}catch(e){}})();</script>
<div class="yj-home-find"><div class="yj-lgbar"><a href="/" class="yj-lg on">EN</a><a href="/de/" class="yj-lg">DE</a><a href="/ja/" class="yj-lg">JA</a><a href="/es/" class="yj-lg">ES</a><a href="/pt/" class="yj-lg">PT</a></div><section class="yj-find"><h2>Find a tool</h2><input id="yjq" type="search" autocomplete="off" placeholder="Type a product name, format or task"><div id="yjr"></div></section><style>.yj-lgbar{position:absolute;top:14px;right:18px;display:flex;gap:6px;z-index:60}.yj-lg{font:600 12px/1 system-ui,sans-serif;padding:6px 9px;border-radius:4px;text-decoration:none;color:#8b96a3;border:1px solid rgba(140,150,165,.28)}.yj-lg:hover{color:#e8eaed;border-color:rgba(160,175,195,.6)}.yj-lg.on{color:#0e1116;background:#cfd6de;border-color:#cfd6de}.yj-find{max-width:760px;margin:34px auto 8px;padding:0 20px}.yj-find h2{font:600 20px/1.3 system-ui,sans-serif;margin:0 0 10px}#yjq{width:100%;box-sizing:border-box;padding:13px 15px;font:400 15.5px system-ui,sans-serif;border:1px solid rgba(140,150,165,.34);border-radius:8px;background:rgba(255,255,255,.04);color:inherit}#yjq:focus{outline:none;border-color:#7FD1C4}#yjr{margin-top:10px;display:flex;flex-direction:column;gap:6px}#yjr a{display:flex;justify-content:space-between;gap:12px;padding:11px 14px;border:1px solid rgba(140,150,165,.22);border-radius:6px;text-decoration:none;font:400 14.5px/1.4 system-ui,sans-serif;color:inherit}#yjr a:hover{border-color:#7FD1C4}#yjr .pr{font:600 13px system-ui,sans-serif;color:#5fbf9a;white-space:nowrap}</style><script>(function(){var q=document.getElementById("yjq"),r=document.getElementById("yjr"),D=null;function load(){if(D)return Promise.resolve(D);return fetch("/search-index.json").then(function(x){return x.json();}).then(function(j){D=j;return j;}).catch(function(){D=[];return D;});}function esc(t){return String(t).replace(/[&<>"]/g,function(c){return {"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;"}[c];});}function run(){var v=q.value.trim().toLowerCase();if(v.length<2){r.innerHTML="";return;}load().then(function(j){var w=v.split(/\s+/),o=[];for(var i=0;i<j.length&&o.length<12;i++){var t=j[i].t.toLowerCase();var ok=true;for(var k=0;k<w.length;k++){if(t.indexOf(w[k])<0){ok=false;break;}}if(ok)o.push(j[i]);}r.innerHTML=o.length?o.map(function(x){return "<a href=\""+esc(x.u)+"\">"+"<span>"+esc(x.t)+"</span>"+(x.p?"<span class=\"pr\">$"+x.p+"</span>":"")+"</a>";}).join(""):"";});}q.addEventListener("input",run);q.addEventListener("focus",load);})();</script></div></body>
</body>
</html>