The periodic table in your terminal, with the full Wikipedia article for every element. Written in Rust.
Interactive periodic table: all 118 confirmed elements plus the hypothesized 119–126. Move around the category-colored 18-group layout and read each element's structured properties and complete Wikipedia article in the pane below — entirely offline. Built on Crust, part of the Fe2O3 suite.
- Full table: 118 confirmed elements, plus hypothesized 119–126 (period 8 and the predicted g-block row)
- Thirteen color modes (keys 1-9,
mfor the menu, or Ctrl+←/→ to cycle): category, phase at STP, cosmic origin (Big Bang, dying stars, supernovae, neutron-star mergers …), occurrence, block, electronegativity, melting point, density, phase at an adjustable temperature, first ionization energy, role in biology, stable vs no-stable-isotope, and known-by-year — legend in the header bar - The temperature instrument: in mode 9,
+/-move the temperature (±25 K, or ±250 K with*/_) and the table melts and boils as you climb. Mercury goes liquid at 234 K, the alkali metals boil away before 1000 K - The history instrument: mode 13 is a year slider. Scrub back and the table empties out; at 1869 you get Mendeleev's 64 elements with the holes at Sc, Ga and Ge that he predicted, and helium flaring as a fresh find. At year 1000 only the nine metals of antiquity are lit
- Group and period labels on the table; math markup and reference/link tail sections stripped from the articles
- Wide-terminal layout: on terminals ≥151 columns the property table sits beside the periodic table, leaving the pane below for the article
- Structured data: mass, density, melt/boil (K and °C), molar heat, group/period/block, shells, electron configuration, electronegativity, electron affinity, ionization energy, appearance, discoverer and year of discovery (Wikidata)
- Its isotopes (
i): hands the element to isotopes, the chart of the nuclides, opened on its most abundant one. Iron lands on Fe-56, at the peak of the binding-energy curve;qthere comes straight back here - Ask Claude (
c): a conversation about the element you're looking at, with its data and article as context; follow-ups keep the thread - The complete Wikipedia article for every element, scrollable in the detail pane
- Offline: one-time fetch, cached at
~/.elements/elements.json(~4 MB); the UI never touches the network - Scriptable:
elements tungsten | lessprints plain text when piped - Zero idle cost: event-driven, no timers, no polling
- Instant: starts in under 20 ms, cache included
Download the prebuilt binary from Releases, or build from source:
cargo build --release
cp target/release/elements ~/.local/bin/First start fetches the dataset from Wikipedia (about a minute), then everything is local.
| Key | Action |
|---|---|
| ← →, h/l | Previous / next element by atomic number (walks the whole table, row to row) |
| ↑ ↓, k/j | Up / down within the column |
| < > | Same as ← → |
| 1-9, Ctrl+←/→ | Color mode (see the list above) |
| m | Mode menu, including the modes past the digits |
| + - (* _) | Temperature ±25 K (±250 K) in mode 9; year ±5 (±250) in mode 13 |
| J K, Shift+↓/↑ | Scroll the article one line |
| Space, PgUp/PgDn | Scroll the article one page |
| g G | Top / bottom of the article |
| / | Find an element (name, symbol, or atomic number) |
| i | This element's isotopes, in the chart of the nuclides |
| c | Ask Claude about this element (follow-ups keep context) |
| C | Toggle the Claude conversation view |
| w | Open the element's Wikipedia page in the browser |
| u | Re-fetch all data from Wikipedia |
| ? | Help |
| ESC | Back to the article (quits from the article view) |
| q | Quit |
elements [ELEMENT] [--fetch]
ELEMENT starts at (or, when piped, prints) that element — by name, symbol, or atomic number. --fetch rebuilds the local dataset.
Structured properties come from the Wikipedia-derived Periodic-Table-JSON dataset; each element also carries its full Wikipedia article via the TextExtracts API. The article texts are CC BY-SA (Wikipedia); the code is public domain.
Public domain (Unlicense). Created by Geir Isene.