NewAI Part GeneratorFree to get started
FREE TOOL

PPM calculator for frequency error

Crystal and clock specs come in ppm, but the number you need is usually hertz or seconds. This ppm calculator converts a frequency error between ppm and hertz, shows how far a clock drifts in a day, a month or a year, and works back from drift you measured. For a crystal, it also adds up tolerance, temperature stability and aging into one total.

Calculate
Examples
Hz
ppm

Magnitude of the ± error.

Frequency deviation

500 Hz

± at 20 ppm

Lowest frequency
24.9995 MHz
Highest frequency
25.0005 MHz
Nominal period
40 ns
Period range
39.9992 ns to 40.0008 ns
As a percentage
0.002 %
In parts per billion
20000 ppb
Drift per day
1.728 s
Drift per 30-day month
51.84 s
Drift per 365-day year
10.51 min

A positive offset means the oscillator runs fast and the clock gains time. Month figures use 30 days and year figures use 365 days.

How do you convert ppm to frequency error and clock drift?

Multiply the frequency by ppm ÷ 1,000,000 for the error in hertz: 50 ppm of 25 MHz is 1.25 kHz. Multiply the elapsed time by the same fraction for clock drift: 1 ppm is 86.4 ms per day, so a clock 20 ppm off gains or loses up to 1.728 s per day, or 10.51 min in a 365-day year.

PPM formula for frequency error and clock drift

Frequency offset is a ratio, so the same ppm figure applies at any frequency. The hertz value scales with the frequency; the time error does not depend on it at all.

y = (f_meas − f_nom) ÷ f_nom
y
frequency offset as a ratio (ppm ÷ 1,000,000)
f_meas
measured frequency in Hz
f_nom
nominal frequency in Hz
Δf
frequency deviation in Hz
t
true elapsed time in s
Δt
time gained (positive) or lost by the clock in s
Δf = f_nom × ppm ÷ 1,000,000     ppm = Δf ÷ f_nom × 1,000,000

A clock counting an oscillator that is y fast reads t × (1 + y) after a true time t, so:

Δt = y × t

A crystal’s total error combines the terms on its datasheet with those of the oscillator circuit:

Worst case = tolerance + stability + aging + load capacitance + oscillator
RSS = √(tolerance² + stability² + aging² + load capacitance² + oscillator²)

The worst case is what the limits on a datasheet guarantee. The root sum square is a statistical estimate that holds only when the terms are independent, which is the assumption behind the combination rule in the GUM.

Worked examples

Example 1: ±50 ppm on a 25 MHz clock

Δf = 25,000,000 × 50 ÷ 1,000,000 = 1.25 kHz, so the clock can be anywhere from 24.99875 MHz to 25.00125 MHz. A counter running from it would drift up to 4.32 s per day.

Example 2: a clock that gains 2 seconds a week

One week is 604,800 s, so y = 2 ÷ 604,800 and the offset is 3.307 ppm fast. On a 32.768 kHz crystal that is 108 mHz, and it would gain 1.738 min over a 365-day year.

Example 3: the Renesas AN-803 budget

A 25 MHz crystal with ±15 ppm tolerance, ±15 ppm stability and ±10 ppm aging over 10 years, plus ±3.5 ppm from the oscillator and ±0.5 ppm from the load capacitance, totals 15 + 15 + 10 + 3.5 + 0.5 = 44 ppm worst case, inside the note’s 50 ppm target. The root sum square of the same terms is 23.72 ppm. (The note’s printed sum shows the load term as 5, but its own text says 0.5 and its total of 44 ppm only works with 0.5.)

Clock drift by ppm

The maximum time error for a constant frequency offset, from ppm to seconds per day, per 30-day month and per 365-day year.

ErrorPer dayPer 30 daysPer 365 days
±1 ppm86.4 ms2.592 s31.54 s
±2 ppm172.8 ms5.184 s1.051 min
±5 ppm432 ms12.96 s2.628 min
±10 ppm864 ms25.92 s5.256 min
±20 ppm1.728 s51.84 s10.51 min
±30 ppm2.592 s1.296 min15.77 min
±50 ppm4.32 s2.16 min26.28 min
±100 ppm8.64 s4.32 min52.56 min
±200 ppm17.28 s8.64 min1.752 h
±500 ppm43.2 s21.6 min4.38 h

ppm to Hz at common clock frequencies

The deviation in hertz for a given error. The ppm figure is the same whether the crystal is slow or fast; only the sign of the deviation changes.

Frequency±10 ppm±20 ppm±50 ppm±100 ppm
32.768 kHz±328 mHz±655 mHz±1.64 Hz±3.28 Hz
1 MHz±10 Hz±20 Hz±50 Hz±100 Hz
8 MHz±80 Hz±160 Hz±400 Hz±800 Hz
12 MHz±120 Hz±240 Hz±600 Hz±1.2 kHz
16 MHz±160 Hz±320 Hz±800 Hz±1.6 kHz
25 MHz±250 Hz±500 Hz±1.25 kHz±2.5 kHz
48 MHz±480 Hz±960 Hz±2.4 kHz±4.8 kHz
100 MHz±1 kHz±2 kHz±5 kHz±10 kHz

Practical limits

  • The headline tolerance is only part of the error. A crystal sold as ±20 ppm at 25 °C also has a temperature stability term and aging, each listed separately on the datasheet.
  • Load capacitance moves the frequency. AN-803 quotes a trim sensitivity of 7 ppm per pF in its example, so the board’s stray capacitance belongs in the budget.
  • A measured offset includes the error of whatever you compared it against, so the reference should be at least several times better than the clock under test.
  • Measure drift over a long enough interval. Reading a clock to the nearest second over one day cannot resolve a 1 ppm offset, since that is only 86.4 ms.
  • Drift figures assume a constant offset. A real crystal changes with temperature and age, so a long-term figure from a single reading is an estimate.

Glossary

ppm
Parts per million: an error of 1 ppm is one millionth of the nominal value.
Frequency offset
The difference between measured and nominal frequency, divided by the nominal frequency.
Frequency tolerance
The allowed deviation from nominal at 25 °C, also called calibration accuracy.
Frequency stability
The deviation from the 25 °C frequency across the operating temperature range.
Aging
Slow, systematic change of a crystal’s frequency with time, usually stated in ppm per year.
Root sum square (RSS)
The square root of the sum of the squares of independent errors: a statistical estimate of their combined effect.

Related guides

Frequently asked questions

How many seconds per day is 1 ppm?

86.4 ms per day. One day is 86,400 seconds, and one part per million of that is 0.0864 s. Over a 365-day year the same 1 ppm adds up to 31.54 s.

How much does a 20 ppm crystal drift?

Up to 1.728 s per day, 51.84 s in a 30-day month and 10.51 min in a 365-day year, if it sits at the edge of its tolerance the whole time.

How much does an RTC drift in a month?

A real-time clock (RTC) drifts by its ppm error times the elapsed time, so a 32.768 kHz crystal that is 20 ppm off gains or loses up to 1.728 s per day and 51.84 s in a 30-day month. The clock drift calculator above takes your own ppm figure and elapsed time.

How do you convert ppm to Hz?

Multiply the frequency by the ppm and divide by one million. 50 ppm of 25 MHz is 25,000,000 × 50 ÷ 1,000,000 = 1.25 kHz. Use the ppm to Hz calculator and you also get the lowest and highest frequency.

How do you convert Hz to ppm?

Divide the deviation by the nominal frequency and multiply by one million. A 25 MHz oscillator measured at 25,000,250 Hz is 250 ÷ 25,000,000 × 1,000,000 = 10 ppm fast. Or enter the nominal and measured frequencies in the Hz to ppm calculator.

What is the difference between ppm and percent?

One percent is 10,000 ppm, so 0.01 % is 100 ppm and 1 ppm is 0.0001 %. One ppm is also 1,000 parts per billion (ppb).

Should I add crystal errors or use root sum square?

Add them when you must guarantee a limit: Renesas AN-803 sums every term for its maximum error. Root sum square assumes the terms are independent and gives a smaller, likely figure; for the AN-803 example that is 23.72 ppm against 44 ppm added.

How do I include crystal aging in a frequency budget?

Multiply the datasheet aging per year by the years of service, or use the lifetime figure if one is given. AN-803 notes that aging is usually fastest in the first 30 to 60 days and then slows, so the linear figure is usually pessimistic.

More free PCB tools

See all free electronics tools →

Sources

Design the whole board, not one number

ProtoFlow is free AI PCB design software: describe a circuit and get a schematic with real parts, PCB layout with an autorouter, SPICE simulation and Gerber files. Native KiCad, Altium and EAGLE import and export. Free on macOS, Windows and Linux.

Get for Mac

Free to start. No card required.