Home / Science / Earth sciences / Mineralogy and petrology / Mineral formula calculatorTool #872

Mineral formula calculator: cations per formula unit from oxide wt%, Fe³⁺ by charge balance and end-members

Paste or open electron-microprobe oxide analyses, one or hundreds. Get cations per formula unit on any oxygen basis, Fe³⁺ estimated by charge balance (Droop 1987), recalculated FeO and Fe2O3, Mg#, and end-members: Fo for olivine, Wo-En-Fs for pyroxene, An-Ab-Or for feldspar, Alm-Prp-Sps-Grs for garnet and Cr# for spinel.

Keep it one tap away for everyday use.

Bookmark Mineral formula calculator?

Press Ctrl + D now. Your browser opens its own bookmark box, where you choose the name and folder.

  1. Oxide wt%
  2. Basis
  3. Cations
  4. End-members
Nothing is uploadedWorks offline once open

Mineral and formula basis

Common bases: olivine 4 O and 3 cations, pyroxene 6 and 4, garnet 12 and 8, feldspar 8 and 5, spinel 4 and 3, amphibole 23 O (anhydrous), mica 11 O. Charge balance needs the ideal cation total; it suits minerals with no vacancies (pyroxene, garnet, spinel, olivine).

Your analyses (oxide wt%)

The examples are made-up, rounded analyses. Blank, "n.d." and "<0.01" count as 0. Columns that are not oxides (Total, H2O, F, Cl) are ignored.

Formulae

Download

What it does

An electron microprobe reports a mineral as oxide weight percentages, but a mineralogist thinks in formulae: how many silicon, aluminium, magnesium and iron atoms sit in one formula unit. This page converts one analysis or a whole batch:

  • Cations per formula unit on the oxygen basis you choose: each oxide’s moles, times its oxygens, are scaled so the oxygens add up to the basis (6 for pyroxene, 12 for garnet and so on).
  • Fe³⁺ from charge balance (Droop 1987). The probe measures total iron only. If a formula with all iron as Fe²⁺ has more cations than the ideal number T, some iron must be Fe³⁺: F = 2X(1 − T/S), where X is the oxygens and S the cation total. The formula is rescaled to T cations and F of the iron becomes Fe³⁺. The page also gives the FeO and Fe2O3 wt% that this split implies.
  • End-members and ratios: Fo-Fa-Tep for olivine, Wo-En-Fs for pyroxene (Fs from Fe²⁺ + Fe³⁺ + Mn), An-Ab-Or for feldspar, Alm-Prp-Sps-Grs for garnet with the andradite and uvarovite shares of the Y-site, Cr# for spinel, and Mg# for all.
  • Checks: cation and oxygen sums, the total charge, oxide totals outside 98 to 102 %, and analyses where charge balance asks for more Fe³⁺ than there is iron.
  • A ternary plot for pyroxene and feldspar, a CSV of every number, and a report as an image, PDF or Word file.

How to use it

  1. Pick the mineral: this fills in the oxygens, the ideal cation total and the iron option. Change them for any other mineral.
  2. Paste your analyses with oxide names on top (SiO2, TiO2, Al2O3, Cr2O3, FeO, MnO, MgO, CaO, Na2O, K2O and others), one row per analysis and the sample name in the first column, or open a CSV or Excel file. Oxides down the first column with one analysis per column also works.
  3. Read the table and download the results.

Worked example

The pyroxene example has three made-up analyses. For Cpx-1 (SiO2 51.5, TiO2 0.6, Al2O3 3.2, Cr2O3 0.5, FeO 6.0, MnO 0.15, MgO 16.0, CaO 21.0, Na2O 0.5 wt%) on 6 oxygens with all iron as Fe²⁺, the cations add up to 4.018, a little more than 4. Charge balance gives Fe³⁺ 0.055 and Fe²⁺ 0.130 per formula unit (Fe³⁺/ΣFe 0.296), with Si 1.897 and 4.000 cations. That split means 4.23 wt% FeO and 1.97 wt% Fe2O3. The end-members are Wo 43.7, En 46.3, Fs 10.0: a diopside-rich augite. Opx-1 plots near the En corner, as an orthopyroxene should.

Tips

  • Charge balance only works for minerals with no vacant sites and a fixed cation total. For amphiboles and micas, which have vacancies and hydrogen, use “all iron as Fe²⁺” or a dedicated scheme.
  • Small errors in SiO2 move Fe³⁺ a lot. Treat Fe³⁺ estimates below about 0.02 per formula unit as zero within error.
  • Totals well below 100 % in anhydrous minerals mean an unanalysed element, poor polish or a beam on a crack.

FAQ

Why do my cations not add up exactly to the ideal number? Without charge balance the page fixes the oxygens, not the cations, so the sum shows how good the analysis is.

Can I mix minerals in one paste? The basis applies to every row, so paste one mineral group at a time.

Is my data uploaded? No. Everything runs in your browser.

Where the numbers come from

  • Oxygen-basis normalisation is the standard mineral formula recalculation; Fe³⁺ by charge balance follows Droop (1987), Mineralogical Magazine 51, 431 (F = 2X(1 − T/S)); pyroxene Wo-En-Fs with Fe²⁺ + Fe³⁺ + Mn as Fs follows Morimoto (1988). Oxide molar masses from standard atomic weights. fibub's code is its own, checked in the tests against pyrolite and an independent NumPy script.
  • The example analyses are made up and rounded. Nothing you paste or open is sent or stored.

Standard scientific values, such as constants, atomic weights and melting points, are facts found in every textbook; we name where ours were checked. If you are an author or publisher and want a value, a credit or a table changed or removed, tell us and we will act quickly.

Last updated 2026-11-09.

Related tools

Ternary and spider plot maker #124 Plot any three-part composition (QFL sandstones, soil texture, mineral end-members, alloys) on a ternary diagram with groups, grid lines and labels, and draw normalised multi-element spider diagrams with Eu/Eu* and (La/Yb)N. Download as PNG, PDF or Word. Molar mass calculator #78 Type any formula, including brackets, hydrates, isotope labels and charges, for its molar mass, exact mass, percentage of each element, and a grams, moles and particles converter. Stereonet plotter #33 Plot planes and lines on an equal-area (Schmidt) or equal-angle (Wulff) stereonet. Get great circles, poles, the mean orientation with its 95 % cone and a rose diagram, and download SVG or PNG. CIPW norm calculator #871 Paste or open whole-rock major-oxide analyses, one or many. Get the CIPW norm in wt% (quartz, feldspars, feldspathoids, pyroxenes, olivine, oxides, apatite), the differentiation index, plagioclase An, colour index and silica saturation, with Le Maitre or fixed-ratio Fe2O3/FeO adjustment and a check that the norm adds up to the analysis. Mineral identification key #515 An interactive key to about 50 common rock-forming and ore minerals. Enter what you see (Mohs hardness or scratch tests, specific gravity, lustre, streak, cleavage, colour, acid fizz, magnetism and other simple tests) and get ranked matches with the reasons for and against each, adjustable tolerances, and a printable property table. Point counter for thin sections #873 Open a thin-section photo or any image, lay a grid or seeded random points over it and count each point into your own classes with number keys or buttons. Get modal percentages with binomial standard errors, Van der Plas and Tobi 2σ, exact 95 % ranges and CSV files. Works as a plain tally counter without an image.