Element Color Schemes
Multi-Scheme Comparison
Compare three element color palettes side by side using horizontal bars within each element tile.
He
Ne
Ar
Kr
Xe
La
Ce
Pr
Nd
Pm
Sm
Eu
Gd
Tb
Dy
Ho
Er
Tm
Yb
Lu
Rn
Ac
Th
Pa
U
Np
Pu
Am
Cm
Bk
Cf
Es
Fm
Md
No
Lr
Og
57-71 La-Lu Lanthanides
89-103 Ac-Lr Actinides
<script>
import { element_data, PeriodicTable, TableInset } from '$lib'
import { element_color_schemes } from '$lib/colors'
// Create multi-scheme color data - each element gets an array of 3 colors
const multi_scheme_colors = element_data.map((el) => [
element_color_schemes.Jmol[el.symbol] ?? '#666666',
element_color_schemes.Vesta[el.symbol] ?? '#666666',
element_color_schemes.Alloy[el.symbol] ?? '#666666',
])
</script>
<PeriodicTable
tile_props={{ show_name: false, show_number: false }}
heatmap_values={multi_scheme_colors}
tooltip={false}
style="margin: 1em auto; max-width: 800px"
>
{#snippet inset()}
<TableInset>
<div class="scheme-legend">
<div class="legend-item">
<div class="color-sample jmol"></div>
<span>Top: Jmol/CPK</span>
</div>
<div class="legend-item">
<div class="color-sample vesta"></div>
<span>Middle: VESTA</span>
</div>
<div class="legend-item">
<div class="color-sample alloy"></div>
<span>Bottom: Alloy</span>
</div>
</div>
</TableInset>
{/snippet}
</PeriodicTable>
Individual Color Schemes
Vesta
From the VESTA crystallographic visualization software
2 He #fce8ce
10 Ne #fe37b5
18 Ar #cffec4
36 Kr #fac1f3
54 Xe #429eb0
57 La #5ac449
58 Ce #ffffc7
59 Pr #d9ffc7
60 Nd #c7ffc7
61 Pm #a3ffc7
62 Sm #8fffc7
63 Eu #61ffc7
64 Gd #45ffc7
65 Tb #30ffc7
66 Dy #1fffc7
67 Ho #00ff9c
68 Er #00e675
69 Tm #00d452
70 Yb #00bf38
71 Lu #00ab24
86 Rn #428296
89 Ac #70abfa
90 Th #00baff
91 Pa #00a1ff
92 U #008fff
93 Np #0080ff
94 Pu #006bff
95 Am #545cf2
96 Cm #785ce3
97 Bk #8a4fe3
98 Cf #a136d4
99 Es #b31fd4
100 Fm #b31fba
101 Md #b30da6
102 No #bd0d87
103 Lr #c70066
118 Og Oganesson
57-71 La-Lu Lanthanides
89-103 Ac-Lr Actinides
Jmol
From the Jmol molecular visualizer, based on CPK coloring (Corey-Pauling-Koltun)
2 He #d9ffff
10 Ne #b3e3f5
18 Ar #80d1e3
36 Kr #5cb8d1
54 Xe #429eb0
57 La #70d4ff
58 Ce #ffffc7
59 Pr #d9ffc7
60 Nd #c7ffc7
61 Pm #a3ffc7
62 Sm #8fffc7
63 Eu #61ffc7
64 Gd #45ffc7
65 Tb #30ffc7
66 Dy #1fffc7
67 Ho #00ff9c
68 Er #00e675
69 Tm #00d452
70 Yb #00bf38
71 Lu #00ab24
86 Rn #428296
89 Ac #70abfa
90 Th #00baff
91 Pa #00a1ff
92 U #008fff
93 Np #0080ff
94 Pu #006bff
95 Am #545cf2
96 Cm #785ce3
97 Bk #8a4fe3
98 Cf #a136d4
99 Es #b31fd4
100 Fm #b31fba
101 Md #b30da6
102 No #bd0d87
103 Lr #c70066
118 Og Oganesson
57-71 La-Lu Lanthanides
89-103 Ac-Lr Actinides
Alloy
Custom high-contrast scheme optimized for contrast between elements commonly co-occurring in metal alloys
2 He #fce8ce
10 Ne #fe37b5
18 Ar #cffec4
36 Kr #fac1f3
54 Xe #429eb0
57 La #5ac449
58 Ce #ffffc7
59 Pr #d9ffc7
60 Nd #c7ffc7
61 Pm #a3ffc7
62 Sm #8fffc7
63 Eu #61ffc7
64 Gd #45ffc7
65 Tb #30ffc7
66 Dy #1fffc7
67 Ho #00ff9c
68 Er #00e675
69 Tm #00d452
70 Yb #00bf38
71 Lu #00ab24
86 Rn #428296
89 Ac #70abfa
90 Th #00baff
91 Pa #00a1ff
92 U #008fff
93 Np #0080ff
94 Pu #006bff
95 Am #545cf2
96 Cm #785ce3
97 Bk #8a4fe3
98 Cf #a136d4
99 Es #b31fd4
100 Fm #b31fba
101 Md #b30da6
102 No #bd0d87
103 Lr #c70066
118 Og Oganesson
57-71 La-Lu Lanthanides
89-103 Ac-Lr Actinides
Pastel
Custom pastel scheme with bright, less saturated colors
2 He #e0ffff
10 Ne #ffd2e6
18 Ar #e6e6fa
36 Kr #f0dcff
54 Xe #d2f0ff
57 La #beffd2
58 Ce #ffffdc
59 Pr #d2ffd2
60 Nd #dcffdc
61 Pm #b9ffdc
62 Sm #afffdc
63 Eu #a5ffdc
64 Gd #9bffdc
65 Tb #91ffdc
66 Dy #87ffdc
67 Ho #7dffc8
68 Er #73f5c8
69 Tm #69ebb4
70 Yb #5fe1a0
71 Lu #55d78c
86 Rn #d2e6f5
89 Ac #aac8ff
90 Th #a0d2ff
91 Pa #96c8ff
92 U #8cbeff
93 Np #82b4ff
94 Pu #78aaff
95 Am #6ea0f5
96 Cm #b4a0eb
97 Bk #beaaf5
98 Cf #c8b4ff
99 Es #d2beff
100 Fm #dcc8ff
101 Md #e6d2ff
102 No #f0dcff
103 Lr #fac8c8
118 Og Oganesson
57-71 La-Lu Lanthanides
89-103 Ac-Lr Actinides
Muted
Custom desaturated scheme for reduced visual strain but still trying to maintain some contrast
2 He #dcdce6
10 Ne #d2bedc
18 Ar #c8d2be
36 Kr #c8b4c8
54 Xe #a0aab4
57 La #96aa96
58 Ce #bebeaa
59 Pr #b4beaa
60 Nd #aab4aa
61 Pm #a0aaaa
62 Sm #a0b4aa
63 Eu #96aaaa
64 Gd #96b4aa
65 Tb #8caaaa
66 Dy #8cb4aa
67 Ho #82aaa0
68 Er #82a096
69 Tm #78a08c
70 Yb #78968c
71 Lu #6e9682
86 Rn #96a0aa
89 Ac #8ca0b4
90 Th #82a0b4
91 Pa #7896b4
92 U #788cb4
93 Np #6e8cb4
94 Pu #6e82aa
95 Am #6e82a0
96 Cm #7882a0
97 Bk #8282a0
98 Cf #8c82a0
99 Es #9682a0
100 Fm #a082a0
101 Md #aa82a0
102 No #b48296
103 Lr #be828c
118 Og Oganesson
57-71 La-Lu Lanthanides
89-103 Ac-Lr Actinides
Dark Mode
Custom bright colors optimized for dark backgrounds and dark theme interfaces
2 He #b4c8ff
10 Ne #ff96ff
18 Ar #c8c8ff
36 Kr #ffb4ff
54 Xe #96c8ff
57 La #96ff96
58 Ce #ffffc8
59 Pr #c8ffb4
60 Nd #b4ffb4
61 Pm #a0ffb4
62 Sm #96ffb4
63 Eu #8cffb4
64 Gd #82ffb4
65 Tb #78ffb4
66 Dy #6effb4
67 Ho #64ffa0
68 Er #5aff96
69 Tm #50ff8c
70 Yb #46ff82
71 Lu #3cff78
86 Rn #b4c8ff
89 Ac #96c8ff
90 Th #82beff
91 Pa #78b4ff
92 U #6eaaff
93 Np #64a0ff
94 Pu #5a96ff
95 Am #648cff
96 Cm #968cff
97 Bk #aa8cff
98 Cf #be8cff
99 Es #d28cff
100 Fm #e68cff
101 Md #fa8cff
102 No #ff8ce6
103 Lr #ff8cc8
118 Og Oganesson
57-71 La-Lu Lanthanides
89-103 Ac-Lr Actinides
<script>
import { PeriodicTable } from '$lib'
import { element_color_schemes } from '$lib/colors'
import { elem_symbols } from '$lib/labels'
const subtitles = {
Vesta:
'From the <a href="https://jp-minerals.org/vesta/en/" target="_blank" rel="noopener">VESTA</a> crystallographic visualization software',
Jmol:
'From the <a href="http://jmol.sourceforge.net/" target="_blank" rel="noopener">Jmol</a> molecular visualizer, based on <a href="https://en.wikipedia.org/wiki/CPK_coloring" target="_blank" rel="noopener">CPK coloring</a> (Corey-Pauling-Koltun)',
Alloy:
'Custom high-contrast scheme optimized for contrast between elements commonly co-occurring in metal alloys',
Pastel: 'Custom pastel scheme with bright, less saturated colors',
Muted:
'Custom desaturated scheme for reduced visual strain but still trying to maintain some contrast',
'Dark Mode':
'Custom bright colors optimized for dark backgrounds and dark theme interfaces',
}
</script>
{#each Object.entries(element_color_schemes) as [id, scheme]}
{@const color_overrides = Object.fromEntries(
elem_symbols.map((key) => [key, scheme[key] ?? 'transparent']),
)}
<section>
<h3 {id}>{id}</h3>
<p class="subtitle">{@html subtitles[id]}</p>
</section>
<PeriodicTable {color_overrides} labels={scheme} />
{/each}
Suggestions for new color schemes or improvements to the custom ones are welcome via GitHub issues!