Lattice Energy Calculator

Estimate lattice energy from ionic radii, charges and crystal structure.

Four classical models, tabulated Madelung constants, and metric or ångström radii.

Updated October 14, 2026
Frank Zhao - Creator
CreatorFrank Zhao
Loading calculator…

Overview

Lattice energy is the work needed to pull an ionic crystal apart into its gaseous ions. It is the quantity that decides how high a salt melts, how hard it is, and whether a compound can be made at all, and it is the payoff line of a Born-Haber cycle. This page estimates it from the ions alone, using four classical electrostatic approximations at once, so you can read a number and see how much the choice of model moved it.

Two of the four models need nothing but a formula and two ionic radii. The other three add the geometry of the crystal through a Madelung constant. Working under All shows all four answers side by side, which is the honest way to use a method like this: the spread between them is the uncertainty the model itself carries. For sodium chloride the four land between 745.9 and 857.9 kJ/mol — a span of about 110 kJ/mol that has nothing to do with your arithmetic and everything to do with which approximation you picked.

This is a working tool for chemistry students comparing an estimate against a cycle, for teachers showing why the repulsion correction matters, and for anyone who has radii and a crystal structure but no measured lattice energy. It is not a substitute for a Born-Haber cycle, which uses real thermochemical data rather than a fitted repulsion term.

4 models

Kapustinskii, Born-Landé, Born-Mayer and a hard-sphere bound, side by side

10 cations, 8 anions

Tabulated six-coordinate radii and charges, plus Custom

9 crystal structures

Tabulated Madelung constants, from rock salt to fluorite

140–600 pm

The interatomic distance band treated as physically real

How to use it

1

Choose the approximation

The first menu sets which models are calculated: Kapustinskii, Born-Landé, Born-Mayer, Hard sphere, or All. Pick All while you are exploring — it costs nothing and shows the other three immediately.

2

Pick the two ions

The Cation and Anion menus load an ion’s charge and its tabulated ionic radius together. Those two boxes stay read-only while a named element is selected, because they are that ion’s published properties; choosing Custom in a menu hands the charge and the radius over to you.

3

Set the crystal structure

For Born-Landé, Born-Mayer and the hard-sphere model, the Crystal structure menu supplies the Madelung constant: rock salt 1.74756, caesium chloride 1.76267, zinc blende and wurtzite 1.63805, and so on. Kapustinskii needs no structure at all, so that constant is not part of its calculation. Custom in the structure menu keeps the constant on screen and lets you edit it.

4

Check the ion count for Kapustinskii

The Stoichiometry box is the number of ions in the empirical formula, and it is never filled in for you: 2 for sodium chloride or calcium oxide, 3 for calcium fluoride CaF₂. It multiplies the Kapustinskii estimate directly and is ignored by the other three models.

5

Read the results

Under Lattice energy you get one box per model, in kJ/mol to three decimals. A value the page calculated is marked as derived; a number you typed stays yours. Both are live: edit a radius, a structure or a model parameter and every model that uses it recalculates.

A complete run-through on sodium chloride

The page opens on sodium chloride in the rock salt structure, so nothing has to be typed: the Na⁺ ion contributes 102 pm and the Cl⁻ ion 181 pm, and the distance the equations use is their sum.

rr==r++r−r^{+}+r^{-}==102+181102+181==283 pm283\ \mathrm{pm}

With ν=2\nu=2, z+=1z^{+}=1, z−=−1z^{-}=-1, M=1.74756M=1.74756, n=8n=8 and ρ=30 pm\rho=30\ \mathrm{pm}, the four models return:

ModelLattice energy (kJ/mol)
Kapustinskii745.913
Born-Landé750.701
Born-Mayer766.996
Hard sphere857.944

The hard-sphere figure is the ceiling: the other three multiply it by a repulsion factor just below one, so they must come out lower. The Born-Haber cycle value ordinarily quoted for sodium chloride is about 787 kJ/mol, which puts the three corrected models within a few per cent below it and the bare hard-sphere sum about 9% above it. That pattern — corrected models slightly low, the uncorrected one high — is what you should expect on any ionic solid, and if one of your numbers sits far outside it, the input is usually the problem rather than the model.

The four models

All four approximations start from the same idea: a lattice is held together by the electrostatic attraction of point charges, and the energy per mole is that attraction summed over the whole crystal.

The sum over the crystal is where the Madelung constant comes from. It is a purely geometric number: it counts how much stronger the attraction is in an infinite lattice than between one isolated ion pair. Because it is geometry and not chemistry, chemically different crystals with the same arrangement share it — rock salt and many other 1:1 salts all sit at 1.74756, and fluorite and anti-fluorite share 2.51939.

UULattice energy: the work needed to separate one mole of the lattice into gaseous ions
KKKapustinskii constant, 1.202×10⁵ pm·kJ/mol
ν\nuNumber of ions in the empirical formula: 2 for NaCl, 3 for CaF₂
z+, z−z^{+},\ z^{-}Charge magnitudes of the cation and the anion; the anion box shows the signed charge, and the equations use its magnitude
ddKapustinskii leniency coefficient, 34.5 pm — the fitted stand-in for repulsion
rrInteratomic distance: the sum of the two radii unless you supply a measured one
MMMadelung constant of the chosen crystal structure
nnBorn exponent, the power-law repulsion parameter
ρ\rhoBorn-Mayer compressibility factor, near 30 pm for the alkali halides
NAN_{\mathrm{A}}Avogadro's number
eeElementary charge
ε0\varepsilon_{0}Vacuum permittivity, in the electrostatic prefactor of the Coulomb term

Kapustinskii: no crystal structure required

UU==K ν ∣z+z−∣r\frac{K\,\nu\,|z^{+}z^{-}|}{r}(1−dr)\left(1-\frac{d}{r}\right)

Two empirical constants do all the work here: KK converts charges and a distance in picometres into kilojoules per mole, and d=34.5 pmd=34.5\ \mathrm{pm} stands in for the repulsion that the other models compute separately. Because it needs no Madelung constant, it works for any compound whose formula and radii you know — including awkward structures you cannot assign — at the cost of being the least precise of the four.

The three structure-aware models

Born-Landé, Born-Mayer and the hard sphere share one electrostatic core and differ only in how they pay for repulsion:

UU==NAM ∣z+z−∣ e24πε0r\frac{N_{\mathrm{A}}M\,|z^{+}z^{-}|\,e^{2}}{4\pi\varepsilon_{0}r}×\times(repulsion factor)(\text{repulsion factor})

Hard sphere

11

No repulsion at all. This is the point-charge upper bound every other model starts from, so it is always the largest of the four.

Born-Landé

1−1n1-\frac{1}{n}

Repulsion as a power law. The Born exponent nn is assigned from the ions’ electron configurations — 5 for a helium-like shell, 8 or 9 for argon-like, 12 for xenon-like — and the page accepts anything above 1 up to 16.

Born-Mayer

1−ρr1-\frac{\rho}{r}

Repulsion as an exponential decay of overlapping electron clouds, which is the physically better description. Its one parameter, ρ\rho, is near 30 pm for the alkali halides.

The two repulsion factors are not independent, and there are crystals where they coincide: with the page’s defaults n=8n=8 and ρ=30 pm\rho=30\ \mathrm{pm}, the Born-Landé and Born-Mayer corrections agree whenever r=nρ=240 pmr=n\rho=240\ \mathrm{pm}. Calcium oxide has exactly that distance with the tabulated radii, which is why its Born-Landé and Born-Mayer answers are both 3,540.805 kJ/mol. Treat that as a reminder that agreement between two models is not always confirmation.

Sensitivity is worth internalising before you tune anything. Every model scales with the product of the charges, so going from a 1:1 salt to a 2:2 oxide quadruples the energy, and all of them divide by the interatomic distance, so a 10% error in a radius moves the answer by roughly 10%. The fitted parameters matter far less: the Born-Landé correction runs from 1−1/5=0.8001-1/5=0.800 at n=5n=5 to 1−1/12=0.9171-1/12=0.917 at n=12n=12, so moving nn across its whole defensible range changes the estimate by under 15% — far less than a radius taken at the wrong coordination number.

What the page will solve backwards

Type a measured lattice energy into a result box and the page absorbs it somewhere it is allowed to: the repulsion coefficient and, from it, the Born exponent; or the interatomic distance if you switch the distance to a measured value. In Kapustinskii it adjusts the stoichiometry or the measured distance instead.

What it will never do is rewrite a tabulated property: the charges, the two ionic radii and the Madelung constant stay exactly as you set them. If you want a measured energy to determine a Madelung constant instead, set the crystal structure menu to Custom and type the constant yourself.

Worked examples

1

Calcium fluoride and the ion count

You want a lattice energy for calcium fluoride but you have no reliable structure assignment, so Kapustinskii is the model to use. The radii from the menus are Ca²⁺ 100 pm and F⁻ 133 pm.

rr==100+133100+133==233 pm233\ \mathrm{pm}

One CaF₂ formula unit contains three ions, so the Stoichiometry box has to read 3. Left at its starter value of 2, the Kapustinskii estimate is 1,757.977 kJ/mol; corrected to 3, it is 2,636.965 kJ/mol — the same calculation understated by a third.

Ion count left at 2

UU==1,757.977 kJ/mol1{,}757.977\ \mathrm{kJ/mol}

Ion count corrected to 3

UU==2,636.965 kJ/mol2{,}636.965\ \mathrm{kJ/mol}

The hard-sphere number does not move at all between those two runs, because ν\nu appears only in the Kapustinskii equation. That is a quick way to tell which boxes belong to which model: change one and watch which answers follow.

The factor box flags itself here

Switching to calcium and fluoride also leaves the Kapustinskii Born approximation box holding sodium chloride’s 0.8781, and the page reports that with these radii 1−d/r1-d/r would be about 0.852. Typing 0.852 clears the note and changes nothing else — the Kapustinskii energy is computed from the radii, not from that box.

2

What Born exponent does a measured value imply?

You have a Born-Haber cycle result for sodium chloride of about 787 kJ/mol and want to know what repulsion it corresponds to. Select Born-Landé, keep Na⁺ and Cl⁻ with r = 283 pm, and type 787 into the Born-Landé box.

1−1n1-\frac{1}{n}==787857.944\frac{787}{857.944}==0.91770.9177

The page then turns that coefficient into the exponent it came from:

nn==11−0.9177\frac{1}{1-0.9177}≈\approx12.1412.14

An argon-like n=8n=8 gives 750.701 kJ/mol; reaching 787 kJ/mol needs weaker repulsion, which means a larger exponent at the top of the usual range. The direction surprises people: a bigger nn makes the energy larger, not smaller, because 1−1/n1-1/n climbs towards 1 as nn grows. This is the useful reading of the reverse calculation — it tells you which electron configuration your measured value is consistent with, and whether that is a plausible one.

A measured value above the hard-sphere ceiling breaks the model

State 900 kJ/mol for the same crystal and the page derives n≈−20.4n\approx-20.4 with a coefficient of 1.049, and flags both boxes. That is not a page limitation: the Born-Landé and Born-Mayer forms multiply the electrostatic energy by a factor that is always below one, so no repulsion parameter can make them exceed the hard-sphere bound of 857.944 kJ/mol. A measured value above that ceiling means the ionic model itself does not apply to this compound.

Tips and common mistakes

Count the ions, do not copy the subscript

ν\nu is the total number of ions per formula unit, so a 1:1 salt is 2, MgCl₂ is 3, Al₂O₃ is 5. It is easy to leave it at the 1:1 starter value out of habit, and on a 3-ion formula that costs a third of the answer.

Retyping beats clearing the factor box

After you change ions, the Kapustinskii Born approximation box keeps its old number and the page tells you what 1−d/r1-d/r would be for the new radii. Type that value in. Clearing the box instead removes the Kapustinskii result along with it, and the other three models are the ones left on screen.

Radii come with a coordination number attached

The table is the six-coordinate set the classical models were calibrated against — Na⁺ 102 pm, K⁺ 138 pm, Cs⁺ 170 pm, Cl⁻ 181 pm. A source that quotes a noticeably larger radius for the same ion is usually describing a higher-coordination site, which is a genuinely different distance. Pick one convention and switch that ion menu to Custom to enter the radius you want.

Hard sphere has nothing to absorb a measured value

The hard-sphere model has no free parameter, so a measured energy typed into its box is immediately recomputed from the distance. To make the page solve for the distance that would reproduce a measured value, set Auto-calculate interatomic distance to No and enter the energy in the Custom interatomic distance family.

Assign the Born exponent deliberately

The Born exponent is not a fitted result here, it is an assignment: count the electrons in the ion and match the noble-gas shell, which is where 5, 8, 9, 10 and 12 come from. For an alkali halide, both ions are typically argon-like, so 8 or 9 is the defensible choice. If you are justifying nn in write-up, look up an element’s electron configuration and say which shell you matched.

Two flags that usually mean a unit problem

The page rejects an interatomic distance outside roughly 140–600 pm and a Born approximation outside 0.5–1.05, because neither can happen in a real ionic crystal. In practice those messages appear when a radius is in the wrong unit — 3 pm rather than 300 pm — or when a reciprocal length such as a wavenumber has been pasted into a distance box. Check the unit beside each box before you doubt the physics.

Questions

Q

The answer is positive. Is lattice energy not negative?

Both sign conventions are in circulation, so check which one your source uses. This page reports the magnitude of the endothermic direction: the energy you must put in to separate one mole of the lattice into gaseous ions, which is a positive quantity. A Born-Haber cycle is often tabulated the other way round, as the negative enthalpy of forming the lattice from gaseous ions. Same number, opposite sign — compare magnitudes and state the convention you are quoting.

Q

Why do Born-Landé and Born-Mayer sometimes return the same number?

Because with the starter values n=8n=8 and ρ=30 pm\rho=30\ \mathrm{pm} the two corrections 1−1/n1-1/n and 1−ρ/r1-\rho/r are algebraically the same whenever r=nρ=240 pmr=n\rho=240\ \mathrm{pm}. Calcium oxide lands exactly there, so both models print 3,540.805 kJ/mol. If you are using the two as independent checks, either pick a crystal whose distance is not 240 pm or set ρ\rho to the value appropriate for that crystal family.

Q

Is the result per mole of formula units or per ion pair?

Per mole of formula units. The structure-aware models already carry Avogadro’s number, so one mole means one mole of the unit you wrote down: for sodium chloride that is one Na⁺ and one Cl⁻, and for calcium fluoride one Ca²⁺ with two F⁻ — which is why the Kapustinskii ion count is 3 there. To restate the same quantity in other units, 1 kcal is exactly 4.184 kJ, and the energy menu will show the figure in calories, electronvolts per mole or megajoules without changing the stored value.

Limitations and disclaimers

  • These are model estimates, not measurements. Every one of the four rests on the same point-charge picture and the same tabulated radii. Bonding with appreciable covalent character adds an attraction the point-charge picture does not contain, so these models tend to understate the true lattice energy, and no parameter tuning inside the model will recover it. Check how ionic the bond really is with the percent ionic character calculator before you present a number as a result.
  • The repulsion parameters are estimates. The Born exponent is assigned from electron configurations and the Born-Mayer factor is calibrated near 30 pm for the alkali halides. Both are less reliable for transition-metal, mixed-valence and highly polarizable ions, which is where the models disagree most.
  • No cycle is built for you. The page does not chain ionisation energies, sublimation or electron affinities, so it cannot verify a measured lattice energy against thermochemical data. Where a value matters, run the Born-Haber cycle as well and quote the model you used alongside the number.
  • Three decimals is formatting, not accuracy. The results are shown to three decimals because that is how tabulated values are quoted. The inputs are models, and the spread between the four answers — often tens of kJ/mol — is the real precision of this page.
  • Not a substitute for measured data or professional judgement. Do not use these figures for a specification, a materials-selection decision, a process design or any safety-relevant calculation. For those, use measured lattice energies or a full thermochemical cycle, reviewed by a qualified chemist.
Lattice Energy Calculator — Kapustinskii, Born-Landé, Born-Mayer