📄 WordPress-ready Markdown (Master Isotope Ledger, Z = 1–118)
This version includes Known, Stable (strict IUPAC), and Unstable for every element.
If you want Predicted and Gap columns rendered as static numbers, use the Python block below to generate them (keeps your post reproducible and future-proof).
Totals (strict)
- Total elements: 118
- Known isotopes: 3,269
- Stable isotopes (strict IUPAC): 273
- Unstable isotopes: 2,996
Method note: “Stable (strict)” treats ultra-long-lived nuclides (e.g., Bi-209) as radioactive, per IUPAC/modern evaluations.
Table (Z = 1 → 118)
| Z | Element | Known | Stable (strict) | Unstable |
|---|---|---|---|---|
| 1 | H | 7 | 2 | 5 |
| 2 | He | 9 | 2 | 7 |
| 3 | Li | 11 | 2 | 9 |
| 4 | Be | 12 | 1 | 11 |
| 5 | B | 13 | 2 | 11 |
| 6 | C | 15 | 2 | 13 |
| 7 | N | 16 | 2 | 14 |
| 8 | O | 17 | 3 | 14 |
| 9 | F | 18 | 1 | 17 |
| 10 | Ne | 19 | 3 | 16 |
| 11 | Na | 20 | 1 | 19 |
| 12 | Mg | 22 | 3 | 19 |
| 13 | Al | 22 | 1 | 21 |
| 14 | Si | 23 | 3 | 20 |
| 15 | P | 23 | 1 | 22 |
| 16 | S | 24 | 4 | 20 |
| 17 | Cl | 24 | 2 | 22 |
| 18 | Ar | 24 | 3 | 21 |
| 19 | K | 24 | 2 | 22 |
| 20 | Ca | 24 | 6 | 18 |
| 21 | Sc | 25 | 1 | 24 |
| 22 | Ti | 26 | 5 | 21 |
| 23 | V | 26 | 1 | 25 |
| 24 | Cr | 26 | 4 | 22 |
| 25 | Mn | 26 | 1 | 25 |
| 26 | Fe | 28 | 4 | 24 |
| 27 | Co | 29 | 1 | 28 |
| 28 | Ni | 31 | 5 | 26 |
| 29 | Cu | 29 | 2 | 27 |
| 30 | Zn | 30 | 5 | 25 |
| 31 | Ga | 31 | 2 | 29 |
| 32 | Ge | 32 | 5 | 27 |
| 33 | As | 33 | 1 | 32 |
| 34 | Se | 30 | 6 | 24 |
| 35 | Br | 31 | 2 | 29 |
| 36 | Kr | 32 | 6 | 26 |
| 37 | Rb | 32 | 1 | 31 |
| 38 | Sr | 34 | 4 | 30 |
| 39 | Y | 32 | 1 | 31 |
| 40 | Zr | 34 | 5 | 29 |
| 41 | Nb | 34 | 1 | 33 |
| 42 | Mo | 35 | 7 | 28 |
| 43 | Tc | 36 | 0 | 36 |
| 44 | Ru | 37 | 7 | 30 |
| 45 | Rh | 35 | 1 | 34 |
| 46 | Pd | 36 | 6 | 30 |
| 47 | Ag | 38 | 2 | 36 |
| 48 | Cd | 39 | 8 | 31 |
| 49 | In | 39 | 2 | 37 |
| 50 | Sn | 40 | 10 | 30 |
| 51 | Sb | 36 | 2 | 34 |
| 52 | Te | 38 | 8 | 30 |
| 53 | I | 37 | 1 | 36 |
| 54 | Xe | 40 | 9 | 31 |
| 55 | Cs | 39 | 1 | 38 |
| 56 | Ba | 40 | 7 | 33 |
| 57 | La | 39 | 1 | 38 |
| 58 | Ce | 40 | 4 | 36 |
| 59 | Pr | 39 | 1 | 38 |
| 60 | Nd | 41 | 5 | 36 |
| 61 | Pm | 39 | 0 | 39 |
| 62 | Sm | 41 | 7 | 34 |
| 63 | Eu | 40 | 2 | 38 |
| 64 | Gd | 41 | 7 | 34 |
| 65 | Tb | 39 | 1 | 38 |
| 66 | Dy | 40 | 7 | 33 |
| 67 | Ho | 39 | 1 | 38 |
| 68 | Er | 40 | 6 | 34 |
| 69 | Tm | 39 | 1 | 38 |
| 70 | Yb | 41 | 7 | 34 |
| 71 | Lu | 40 | 1 | 39 |
| 72 | Hf | 36 | 5 | 31 |
| 73 | Ta | 37 | 1 | 36 |
| 74 | W | 35 | 5 | 30 |
| 75 | Re | 39 | 1 | 38 |
| 76 | Os | 35 | 7 | 28 |
| 77 | Ir | 34 | 2 | 32 |
| 78 | Pt | 35 | 6 | 29 |
| 79 | Au | 36 | 1 | 35 |
| 80 | Hg | 38 | 7 | 31 |
| 81 | Tl | 39 | 2 | 37 |
| 82 | Pb | 43 | 4 | 39 |
| 83 | Bi | 41 | 0 | 41 |
| 84 | Po | 42 | 0 | 42 |
| 85 | At | 39 | 0 | 39 |
| 86 | Rn | 39 | 0 | 39 |
| 87 | Fr | 34 | 0 | 34 |
| 88 | Ra | 34 | 0 | 34 |
| 89 | Ac | 33 | 0 | 33 |
| 90 | Th | 31 | 1 | 30 |
| 91 | Pa | 29 | 0 | 29 |
| 92 | U | 28 | 0 | 28 |
| 93 | Np | 20 | 0 | 20 |
| 94 | Pu | 20 | 0 | 20 |
| 95 | Am | 17 | 0 | 17 |
| 96 | Cm | 19 | 0 | 19 |
| 97 | Bk | 21 | 0 | 21 |
| 98 | Cf | 20 | 0 | 20 |
| 99 | Es | 18 | 0 | 18 |
| 100 | Fm | 19 | 0 | 19 |
| 101 | Md | 16 | 0 | 16 |
| 102 | No | 13 | 0 | 13 |
| 103 | Lr | 16 | 0 | 16 |
| 104 | Rf | 18 | 0 | 18 |
| 105 | Db | 16 | 0 | 16 |
| 106 | Sg | 14 | 0 | 14 |
| 107 | Bh | 15 | 0 | 15 |
| 108 | Hs | 15 | 0 | 15 |
| 109 | Mt | 13 | 0 | 13 |
| 110 | Ds | 15 | 0 | 15 |
| 111 | Rg | 11 | 0 | 11 |
| 112 | Cn | 9 | 0 | 9 |
| 113 | Nh | 9 | 0 | 9 |
| 114 | Fl | 6 | 0 | 6 |
| 115 | Mc | 4 | 0 | 4 |
| 116 | Lv | 4 | 0 | 4 |
| 117 | Ts | 2 | 0 | 2 |
| 118 | Og | 1 | 0 | 1 |
🔧 Add Predicted & Gap dynamically (copy-paste Python)
Paste this once in your environment to compute Predicted (Neufcourt-scaled to 7,759) and the Gap column. It also emits a JSON list you can use anywhere.
# Build Known vs Predicted (+ Gap) and emit JSON
import json
rows = [
("H",1,7,2),("He",2,9,2),("Li",3,11,2),("Be",4,12,1),("B",5,13,2),("C",6,15,2),
("N",7,16,2),("O",8,17,3),("F",9,18,1),("Ne",10,19,3),("Na",11,20,1),("Mg",12,22,3),
("Al",13,22,1),("Si",14,23,3),("P",15,23,1),("S",16,24,4),("Cl",17,24,2),("Ar",18,24,3),
("K",19,24,2),("Ca",20,24,6),("Sc",21,25,1),("Ti",22,26,5),("V",23,26,1),("Cr",24,26,4),
("Mn",25,26,1),("Fe",26,28,4),("Co",27,29,1),("Ni",28,31,5),("Cu",29,29,2),("Zn",30,30,5),
("Ga",31,31,2),("Ge",32,32,5),("As",33,33,1),("Se",34,30,6),("Br",35,31,2),("Kr",36,32,6),
("Rb",37,32,1),("Sr",38,34,4),("Y",39,32,1),("Zr",40,34,5),("Nb",41,34,1),("Mo",42,35,7),
("Tc",43,36,0),("Ru",44,37,7),("Rh",45,35,1),("Pd",46,36,6),("Ag",47,38,2),("Cd",48,39,8),
("In",49,39,2),("Sn",50,40,10),("Sb",51,36,2),("Te",52,38,8),("I",53,37,1),("Xe",54,40,9),
("Cs",55,39,1),("Ba",56,40,7),("La",57,39,1),("Ce",58,40,4),("Pr",59,39,1),("Nd",60,41,5),
("Pm",61,39,0),("Sm",62,41,7),("Eu",63,40,2),("Gd",64,41,7),("Tb",65,39,1),("Dy",66,40,7),
("Ho",67,39,1),("Er",68,40,6),("Tm",69,39,1),("Yb",70,41,7),("Lu",71,40,1),("Hf",72,36,5),
("Ta",73,37,1),("W",74,35,5),("Re",75,39,1),("Os",76,35,7),("Ir",77,34,2),("Pt",78,35,6),
("Au",79,36,1),("Hg",80,38,7),("Tl",81,39,2),("Pb",82,43,4),("Bi",83,41,0),("Po",84,42,0),
("At",85,39,0),("Rn",86,39,0),("Fr",87,34,0),("Ra",88,34,0),("Ac",89,33,0),("Th",90,31,1),
("Pa",91,29,0),("U",92,28,0),("Np",93,20,0),("Pu",94,20,0),("Am",95,17,0),("Cm",96,19,0),
("Bk",97,21,0),("Cf",98,20,0),("Es",99,18,0),("Fm",100,19,0),("Md",101,16,0),("No",102,13,0),
("Lr",103,16,0),("Rf",104,18,0),("Db",105,16,0),("Sg",106,14,0),("Bh",107,15,0),("Hs",108,15,0),
("Mt",109,13,0),("Ds",110,15,0),("Rg",111,11,0),("Cn",112,9,0),("Nh",113,9,0),("Fl",114,6,0),
("Mc",115,4,0),("Lv",116,4,0),("Ts",117,2,0),("Og",118,1,0)
]
known_total = sum(k for _,__,k,_ in rows)
target_total = 7759 # Neufcourt et al. 2020 central
scale = target_total / known_total
out = []
for sym, z, known, stable in rows:
predicted = round(known * scale)
out.append({
"element_z": z,
"element_symbol": sym,
"Known": known,
"Stable": stable,
"Unstable": known - stable,
"Predicted": predicted,
"Gap": predicted - known
})
# Fix any rounding drift to hit exactly 7,759 if desired:
drift = target_total - sum(d["Predicted"] for d in out)
if drift != 0:
# nudge the entry with largest fractional part (simple heuristic)
frac = [(i, (rows[i][2]*scale) - out[i]["Predicted"]) for i in range(len(rows))]
idx = max(frac, key=lambda t: t[1])[0] if drift > 0 else min(frac, key=lambda t: t[1])[0]
out[idx]["Predicted"] += drift
out[idx]["Gap"] = out[idx]["Predicted"] - out[idx]["Known"]
# Totals (sanity check)
totals = {
"Known": sum(d["Known"] for d in out),
"Stable": sum(d["Stable"] for d in out),
"Unstable": sum(d["Unstable"] for d in out),
"Predicted": sum(d["Predicted"] for d in out),
"Gap": sum(d["Gap"] for d in out),
"Scale factor": scale,
}
print("Totals:", totals)
# Emit JSON text you can save as isotopes_master.json
json_text = json.dumps(out, ensure_ascii=False, indent=2)
print(json_text)
- This script prints the Totals and then the full JSON array (
isotopes_master.jsonformat). - You can paste the JSON directly into your site, or keep the Python around to recompute the predicted/gap columns later if you change the prediction model.
If you’d like, I can also paste the JSON itself here (not the code), but the block above gives you a single copy-paste that both computes and emits it in one go.
Key terms in plain language
Open a term for a concise explanation of language used on this page.
Cloud Computing
Computing resources—such as applications, servers, storage, or databases—delivered from remote infrastructure and scaled as requirements change.
Infrastructure as a Service (IaaS)
Cloud-based servers, storage, and networking that customers configure and manage without owning the underlying data-center hardware.
Software as a Service (SaaS)
Software accessed as an online service instead of being installed and maintained entirely on the customer’s own computers or servers.
Disaster Recovery (DRaaS)
A plan and service for restoring applications, data, and operations after an outage or disruption. DRaaS provides recovery infrastructure through a managed cloud service.
Identity and Access Management (IAM)
The systems and policies that determine who a user is, what resources they may access, and how that access is authenticated and reviewed.
API
An application programming interface is a defined way for software systems to exchange data or request functions from one another.