What this does
Every other molecular weight tool on this site asks you for Mₙ and Mw as though those were things you measured. They are not. They are things your chromatography software computed, from a trace, using a calibration and a pair of integration limits somebody chose. This page does that computation in the open, on your own data, so you can see what the choices were worth.
The arithmetic is the standard slice summation. A GPC concentration detector reads a signal proportional to the mass of polymer eluting at each moment, so after subtracting a baseline, each slice i contributes a mass hi at a molecular weight Mi read off the calibration:
Nothing in those three expressions is difficult. What makes GPC numbers soft is everything around them: where the baseline sits, where the integration starts and stops, and whether the calibration was ever measured in the region you are reading. This page reports all three alongside the answer instead of behind it.
Analyze a trace
Column 1 is always the x axis. Choose the concentration detector – usually RI. The slice sums assume the signal is proportional to mass, which a UV channel is only for a homopolymer with a constant chromophore, and a light-scattering channel is not at all.
What the limits are worth
| Integrate down to | Window | Mₙ | Mw | Đ | Area kept |
|---|
A worked example with a known answer
The trace the page loads with is not a real injection. It was generated from an exact log-normal distribution with Mₙ = 20,000 g/mol and Đ = 1.300, sampled every 0.025 mL, and given a gently rising baseline so the baseline correction has something to do. That matters: it means the right answer is known before the page computes anything, so the gap between the right answer and the reported one is measurable rather than arguable.
Integrate the whole trace and the summation returns Mₙ = 20,000 and Đ = 1.3000, which is the check that the arithmetic is right. Then cut the tails off, the way every real integration does:
| Integrate down to | Mₙ | Mw | Đ (4 dp) | Mₙ error | Đ error |
|---|---|---|---|---|---|
| 10% of peak height | 20,400 | 25,400 | 1.2440 | +2.2% | −4.3% |
| 5% | 20,200 | 25,700 | 1.2689 | +1.2% | −2.4% |
| 2% | 20,100 | 25,800 | 1.2844 | +0.6% | −1.2% |
| 1% | 20,100 | 25,900 | 1.2914 | +0.3% | −0.7% |
| 0.5% | 20,000 | 26,000 | 1.2955 | +0.2% | −0.3% |
| the whole trace | 20,000 | 26,000 | 1.3000 | 0.0% | 0.0% |
Two things fall out of that table, and both are worth carrying to a real sample.
The error only ever runs one way. Integration limits discard tail, and a distribution with its tails clipped is narrower than the one you injected. So Đ is always reported low and Mₙ always high, never the reverse. A sample integrated at 10% of peak height reads Đ = 1.244 when it is really 1.300 – and there is nothing in the chromatogram to tell you that, because the trace looks perfectly clean. This is the mechanism behind the well-known observation that two analysts integrating one raw file disagree: they are not making random errors in opposite directions, they are both clipping, by different amounts.
Đ is about twice as sensitive as Mₙ. At every row above, the dispersity error is roughly double the Mₙ error, because Đ is a ratio of two moments that move in opposite directions when you clip – Mₙ rises as the low-M tail goes, Mw falls as the high-M tail goes, and the ratio takes both hits. If you are comparing dispersities between samples, matching integration limits matters more than anything else you could do to the method.
It is worth putting that next to the opposite result from the calibration converter. There, Đ is the robust number: converting between polymer scales transforms it as Đtrue = Đapparent(1+αstd)/(1+αsample), which contains no K at all, so a badly chosen calibration constant leaves dispersity untouched. Here it is the fragile one. The two are not in tension: dispersity survives a wrong molecular weight axis and does not survive a wrong integration window, because the first rescales the axis and the second throws material away.
What this cannot do for you
- It cannot fix a calibration that was never measured where you are reading. If your peak runs past the last standard you injected, the molecular weight out there is an extrapolation of a polynomial, not a measurement, and a cubic fit can bend hard beyond its data. The page reports how much of your peak area sits outside the standards' range; treat anything above a few percent as a reason to run more standards rather than a number to report.
- It cannot separate band broadening from the real distribution. Every column adds spreading, so a measured trace is the true distribution convolved with the instrument's response. That inflates Đ – in the opposite direction from the clipping above, which is why a narrow standard reads Đ ≈ 1.02 rather than 1.00. Deconvolving it needs a measured broadening function for your bank.
- It assumes the detector response is proportional to mass. That is a fair assumption for RI on a homopolymer well above oligomer molecular weights. It fails for a UV detector on a copolymer whose composition drifts across the peak, and it fails near the oligomer end where end groups change dn/dc per unit mass.
- It cannot see coelution. Anything past the exclusion limit stacks at one volume, and this page will faithfully integrate that stack as though it were separated. The peak interpretation page covers what those artifacts look like.
Related tools
- GPC peak interpretation – what the shape of the trace is telling you, and how to plan a method for a given polymer.
- GPC calibration converter – turn a polystyrene-equivalent molecular weight into a true one.
- Dispersity predictor – what Đ your polymerization should have produced, to compare against what you just integrated.