Slider-Crank Exact · Static + Corrected CR

Two-Stroke Compression Ratio Calculator

Every 2-stroke has two compression ratios. The textbook one is too high — this calculator gives you both: a static number for reference and a corrected CR that accounts for the stroke you actually lose to port timing. Built with the slider-crank convention used in A. Graham Bell's Two-Stroke Performance Tuning.

Two-Stroke Compression Ratio Calculator — Static + Corrected CR

+dome adds volume · −dish removes volume

Air gap at TDC (no head-gasket shim)

0 = 4-stroke (no correction), 180 = open at BDC

EPC = 96° BTDC
4-strokeMX 75°Sym road 95°Early 130°No loss
Correction, in plain language
Static CR = (123.9 + 12.0) ÷ 12.0 = 11.33:1
Lost to port timing = 55% of full stroke
Effective fraction = (1 + cos 96°) ÷ 2 = 0.448
Corrected CR = (55.5 + 12.0) ÷ 12.0 = 5.62:1
Two-Stroke Compression Ratio
Static 11.33
· Corrected 5.62:1
Vd full = 123.9 cc · Vc total = 12.0 cc · Effective stroke = 22.2 mm
Visual ratio comparison (max scale 14:1)
Static CR11.33:1
Corrected CR5.62:1
Full swept volume123.9 cc
Effective swept volume55.5 cc
Head volume + crown + deck12.0 cc
Port timing (EPC)96° BTDC
Fuel: 87 octane pump gas (safe)
Port timing: Symmetrical road 85–100° BTDC — road race 2-stroke
Use this two stroke compression ratio calculator alongside our main Engine Calculator home page for full static and dynamic compression ratio tools, octane guidance, and the complete calculator toolset hub. If you want theory before numbers, the compression ratio guides library covers port timing, squish and jetting in depth.
The Problem

Two-Stroke Compression Ratio: Why the Textbook Number Lies

Ask ten 2-stroke tuners what compression ratio their engine runs, and eight of them will quote you a number that does not exist. A TZ250 is often advertised as having 11.8:1 compression. That is the static number — a pure geometry calculation assuming the piston compresses the full swept volume from BDC to TDC. In a 2-stroke, that never happens.

Somewhere between 25% and 45% of the full stroke is lost to port timing. The exhaust port closes partway up the piston's travel, and only then does the cylinder start building real compression. Everything below that close angle is just blowdown and intake flow — useful for scavenging, useless for compression. The textbook CR ignores all of it, which is why two engines with the same static CR can run completely different jetting, octane and ignition curves.

The confusion matters. A 2-stroke with a 12:1 static CR can run pump 91 octane safely once corrected down to 7:1. The same static number on a 4-stroke would detonate on 91. Tuners who guess off the static number over-jet, over-fuel, under-power, and still wonder why the plug is tan instead of chocolate-brown. Corrected CR is the number that matches your jetting chart, your octane grade, and your squish-band target.

Yamaha TZ250 road-race 2-stroke cylinder head close-upTZ250 — 11.8 static → 6.9 correctedPhoto: Unsplash

💡 Tip: Any time you see a 2-stroke advertised with a 10:1–13:1 "compression ratio," read the fine print — it is static. Divide by roughly 1.6 to get the corrected number in your head: 12:1 static ÷ 1.6 ≈ 7.5:1 corrected, still pump-gas territory.

Standard Method

How to Calculate 2-Stroke Compression Ratio (Standard Method)

Before you correct for port timing, you need the static number right. The steps are identical to a 4-stroke — the difference is only what you do after you have it. We will work through a Yamaha TZ250, one of the most-studied 2-strokes in racing, so you can verify your own engine against known numbers.

The standard formula, in plain language
Swept volume Vd (cc) = π/4 × bore (mm)² × stroke (mm) ÷ 1000
Clearance volume Vc (cc) = head volume + piston crown (or −dish) + deck clearance volume
Static compression ratio = (Vd + Vc) ÷ Vc
StepMeasurementTZ250 ValueMath
1Cylinder bore56.4 mmArea = 0.7854 × 56.4² = 2499 mm²
2Stroke49.6 mm—
3Swept volume Vd124 cc2499 × 49.6 ÷ 1000 = 124.0 cc
4Head volume11.5 ccburette cc'ing
5Piston crown (flat)0 ccno dome or dish
6Deck clearance volume0.5 cc2499 × 0.2 mm ÷ 1000 ≈ 0.5 cc
7Total Vc12.0 cc11.5 + 0 + 0.5 = 12.0 cc
8Static CR11.3:1(124 + 12.0) ÷ 12.0 = 11.3
What the TZ250 table tells you: before any port correction, the static number already looks high — 11.3:1 on a road-race 2-stroke. You know it is misleading the second you try to run pump 93 on it. Now move on to the corrected number below.
The Real Math

Two-Stroke Corrected Compression Ratio Calculator: Port Timing Changes Everything

The correction comes from slider-crank geometry. Think of the piston rising from BDC toward TDC. At any crank angle θ degrees BTDC, the piston is below TDC by stroke × (1 + cos θ) ÷ 2 millimeters — that is exactly the distance still left to travel. When the exhaust port closes at, say, 96° BTDC, the piston has only 56 mm of the original 49.6 mm stroke left (on a TZ250). That fraction of the stroke is what actually compresses the fresh air. Everything under that angle is just scavenging flow.

A. Graham Bell's Two-Stroke Performance Tuning formalizes this as effective stroke = stroke × (1 + cos EPC°) ÷ 2, where EPC is the exhaust-port-close angle measured in degrees before TDC. Corrected CR then substitutes effective swept volume into the standard formula: CRcorr = (Vdeff + Vc) ÷ Vc.

KTM 250SX MX 2-stroke motocross engineKTM 250SX — MX EPC 92°Photo: Unsplash
Slider-crank exact correction
Effective stroke fraction = (1 + cos(EPC°)) ÷ 2
Effective swept volume = Vd_full × effective fraction
Corrected CR = (Vd_eff + Vc) ÷ Vc
Quick approximation — EPC ÷ 180 rule: Some tuners use effective fraction ≈ EPC ÷ 180 as a rough check. For a symmetrical road port (EPC ≈ 95°) this gives 95 ÷ 180 = 0.528, while the exact slider-crank gives (1 + cos 95°) ÷ 2 ≈ 0.587 — close enough for napkin math, but off by about 0.6 points of CR on a TZ250. Use the exact formula when you are ordering pistons or rejetting.
QuantityTZ250 @ EPC 96° BTDCCalc
Full swept volume Vd124.0 ccπ/4 × 56.4² × 49.6 ÷ 1000
Total Vc12.0 cchead + crown + deck
Effective fraction0.552(1 + cos 96°) ÷ 2 ≈ (1 − 0.1045) ÷ 2
Effective stroke27.4 mm49.6 × 0.552
Effective Vd68.4 ccπ/4 × 56.4² × 27.4 ÷ 1000
Static CR11.3:1(124 + 12) ÷ 12
Corrected CR6.7:1(68.4 + 12) ÷ 12
Head-to-Head

2-Stroke vs 4-Stroke Compression Ratio: Side-by-Side

The same numeric compression ratio behaves very differently depending on whether it is a 2-stroke or a 4-stroke. This table compares the real-world bands you will see when shopping parts, building an engine, or choosing octane.

Aspect2-Stroke4-Stroke
Power strokes per crank revEvery rev (if port-timed correctly)Every other rev
Typical static CR range8:1 – 13:19:1 – 14:1 (pump-gas street)
Typical corrected CR range5.5:1 – 8.5:1(no port loss — static = dynamic)
Pump-gas octane ceilingCorrected ≤ 7.2:1 on 91Up to ~11.5:1 on 91 with good quench
Squish band critical?Yes — 0.020–0.040 inch, directly affects detonationYes — 0.035–0.045 inch for street
CR tolerance boostBoost raises EPC & overlapping — corrected drops furtherBoost multiplies CR — run lower static (8:1–9:1)
Correction needed?Mandatory — static CR is misleadingNo — static CR is the real number
Jet coupling to CRTight — 0.5 CR point often needs one jet size richerLoose — jetting mostly tracks air flow
❌ Common mistake: copying a 4-stroke static CR chart onto a 2-stroke. A 2-stroke "12:1" is really 6–8:1 corrected — lower than most 4-stroke pump-gas builds. Run the corrected number first, and you will not chase ghost detonation.
Real-World Targets

Single-Cylinder Small Engine CR Recommendations

Whether you are tuning a 2-stroke MX bike, a Predator-powered go-kart, a chainsaw or a lawn mower, the target band below keeps you on pump gas without detonation and tells you when it is time to reach for E85 or race fuel. These targets apply to corrected CR on 2-strokes and static CR on 4-strokes.

Go-kart 2-stroke

6.5–7.5:1 corrected

Pump 91 safe · Race karts hit 8.0+ on 100LL

Go-kart Predator 212

8.5–11:1 static (4T)

Stock 8.5:1 · Billet heads 10–11:1 on 91+ · Race 12–13:1 E85

Chainsaw 2-stroke

10–12:1 static / 6.5–8.0 corrected

High rpm, short stroke — pump 91 only up to 7.5 corrected

Lawn equipment (4T)

7.5–8.5:1 static

Run forever on 87 octane · Low rpm, mild cam, small squish

Mini-bike 2-stroke

7.0–8.0:1 corrected

Stock 49cc 2-strokes land here — jet rich if you raise CR above 8.0

Snowmobile 2-stroke

6.5–7.5:1 corrected

Cold dense air tolerates more — drop CR if you ride at sea level

Watercraft 2-stroke

6.0–7.0:1 corrected

Supercharged 2-strokes go lower · detonation in open water kills driveshafts

Road-race 2-stroke

7.0–8.5:1 corrected

100LL required above 8.0 · symmetrical ports hold this power band

Preset Reference

Predator 212, Briggs & Stratton, and TZ250: Preset Reference Values

Four common single-cylinder engines, side by side with their static, corrected, and octane recommendations. Use the "Experimental" rows only when you have the carb jetting, ignition curve and fuel sorted — detonation on these small-bore engines is fast and spectacular.

EngineBore × StrokeStatic CRCorrected CROctaneStatus
TZ250 · Sym road56.4 × 49.6 mm11.3:16.7:193+Safe
TZ250 · Faster port56.4 × 49.6 mm11.3:17.6:1100LLRace
KTM 250SX Stock MX66.4 × 72 mm12.5:17.8:191+Safe
KTM 250SX Ported66.4 × 72 mm12.5:18.4:1100LLExperimental
Predator 212 Stock (4T)70 × 55 mm8.5:1—87Safe
Predator 212 Billet (4T)70 × 55 mm10.5:1—91Safe
Predator 212 Race (4T)70 × 55 mm12.5:1—E85Experimental
Briggs 550EX (4T)68.3 × 73 mm8.0:1—87Safe
TZ250 static numbers vary by head cc — 11.3:1 shown uses 11.5 cc head + 0.5 cc deck. MX corrected numbers assume EPC 90° BTDC; road symmetrical EPC 95° BTDC gives the 6.7:1 figure. Predator and Briggs rows are 4-stroke — shown for single-cylinder reference only, no port correction needed.
Modifications

Squish Band and Head Modification Basics for 2-Strokes

If port timing sets how much of the stroke is real compression, the squish band sets how well that compression actually lights off. The squish band is the raised ring of cylinder head just outside the combustion chamber — it "squishes" the charge toward the center as the piston tops out, creating turbulence that slams the flame kernel into being. On a 2-stroke, squish is not a luxury. Miss the squish gap and you get either detonation (too tight) or sluggish response (too loose).

Target squish for a pump-gas 2-stroke is 0.020–0.040 inch. Race builds can run down to 0.015 inch, but only with a stiff rod, tight piston fit and good oil. Measure it by laying solder across the squish ring, assembling the head, torquing to spec, and spinning the crank by hand — the thickness of the flattened solder is your squish. Subtract the compressed gasket thickness to get deck clearance, or just measure solder directly if the head is off.

When you mill a head to raise CR, you also shrink squish. Every 0.010 inch removed from the head reduces squish by 0.010 inch — the squish band rides with the head surface. That is why many 2-stroke builders prefer a thin MLS gasket over head milling when they are only chasing a point or two of CR: milling reshapes the chamber AND tightens squish, while a thinner gasket only raises CR. Keep the two effects separate until you know exactly what you want.

2-stroke motorcycle cylinder close-up with port timingsPorting work — check squish after every cutPhoto: Unsplash

Squish 0.025–0.035"

Street / trail 2-stroke — pump 91 detonation resistance, safe rod stretch margin

Squish 0.018–0.025"

Race 2-stroke — sharp response, detonation risk rises with EGT. Inspect rods yearly.

Squish < 0.015"

⚠ Danger zone — rod stretch at rpm turns this into metal contact. Use only on drag builds.

Burette cc'ing, the honest way to find head volume: take a clean cylinder head, lay a piece of plate glass across the deck with one edge propped up ~1 mm so water can flow, and slowly fill the combustion chamber from a graduated burette until water reaches the glass and forms a meniscus without air bubbles. The burette reading is your head cc. Repeat three times, average. Trust this number over any spec sheet.
Final Checklist

How to Calculate 2 Stroke Compression Ratio — Step-by-Step Summary

Everything you need to know, condensed into a checklist you can take to the engine stand. Follow this order and you will never guess a wrong CR again.

  1. 1Bore × stroke → Vd (cc). Use π/4 × bore² × stroke ÷ 1000. TZ250 = 56.4 × 49.6 = 124 cc.
  2. 2Cc the head with a burette. Add piston crown volume (+dome adds, −dish removes). Add deck clearance volume (bore area × deck mm ÷ 1000). Sum = total Vc.
  3. 3Static CR = (Vd + Vc) ÷ Vc. Record it for reference but do NOT base octane or jetting on this number on a 2-stroke.
  4. 4Look up or degree the crank to find exhaust port close (EPC) in degrees BTDC. Symmetrical road ≈ 95°, MX ≈ 80–90°, very late ≈ 70°.
  5. 5Effective fraction = (1 + cos(EPC°)) ÷ 2. Effective Vd = Vd × effective fraction.
  6. 6Corrected CR = (Vd_eff + Vc) ÷ Vc. THIS is the number that drives jetting, octane and squish targets.
  7. 7Pick fuel based on corrected CR, not static: 6.0–7.2 → pump 91; 7.3–8.0 → 100LL; 8.1+ → E85 or race fuel with rich jetting.
  8. 8Verify squish with solder after any head milling or gasket swap. Target 0.020–0.040 inch for pump-gas 2-strokes.
Final sanity check: a corrected CR below 5.5:1 means you have the EPC number wrong (too early — near BDC), or you are looking at a low-compression street 2-stroke. A corrected CR above 8.5:1 means you are running a very late EPC and need 100LL or better. Use the slider in the calculator at the top of the page to check your own numbers live.
Frequently Asked

Frequently Asked Questions

How do you calculate 2-stroke compression ratio?+

Start with static CR the same way as a 4-stroke: CR_static = (Vd + Vc) ÷ Vc, where Vd = π/4 × bore² × stroke and Vc is the total clearance volume (head cc + piston crown/dish + deck clearance). Then correct for port timing: find the exhaust-port-close angle (EPC, degrees BTDC), compute effective stroke fraction = (1 − cos(EPC°)) ÷ 2, multiply by full stroke to get effective stroke, then Vd_eff = π/4 × bore² × effective stroke, and finally CR_corrected = (Vd_eff + Vc) ÷ Vc. The corrected number is always lower because the piston only compresses fresh air for part of its travel before the port opens.

What is corrected compression ratio in a 2-stroke?+

Corrected compression ratio accounts for the fact that the 2-stroke piston only begins to compress the charge after the exhaust port closes — roughly halfway up its stroke, not all the way at BDC. Static CR pretends compression starts at full BDC travel. Corrected CR substitutes the effective stroke (from port-close angle to TDC) into the swept-volume term, producing a realistic number that matches what the spark plug, jetting and octane grade actually feel. A TZ250 with a static 11.8:1 has a corrected CR closer to 6.9:1.

What CR should a 2-stroke run on pump gas?+

For street-legal pump-gas 2-strokes (87–93 octane R+M/2), target a corrected compression ratio between 5.8:1 and 7.2:1. The static CR will read much higher — 8:1 to 13:1 — depending on port timing. Any corrected CR above 7.5:1 on pump gas risks detonation, especially with lean jetting or hot cylinder-head temps. Race fuels (100LL, VP110) can tolerate corrected CR up to about 8.5:1, and ethanol blends (E85) push that to 9:1+. Always tune the jetting before chasing more corrected CR.

Why is 2-stroke corrected CR lower than static?+

Because in a 2-stroke, compression does not start at the bottom of the stroke. The piston has to travel up from BDC, close the exhaust port somewhere between 75° and 100° BTDC, and only then does charge compression begin. That means anywhere from 25% to 45% of the full stroke never compresses fresh mixture — the mixture is still flowing in when the port is open. Static CR uses the full stroke, so it is always higher. A symmetrical road race port (EPC ≈ 95° BTDC) loses about 45% of the stroke to port timing.

What compression does a Predator 212 have?+

A stock 70 × 55 mm Predator 212 single-cylinder 4-stroke (not actually a 2-stroke) has a static compression ratio of roughly 8.5:1 to 9.0:1 from the factory, with about 10.5 cc of head volume, flat pistons and zero deck. Billet-head mods drop head volume to 6–8 cc and push static CR to 10:1–11:1 on pump 91+. Race builds with domed pistons, milled heads and E85 can reach 12:1–13:1. For go-kart 2-stroke singles, corrected CR usually lands 6.0–7.5:1 depending on port timing.

Does higher compression make a 2-stroke harder to jet?+

Yes, and not just because of the obvious detonation threshold. Higher corrected CR also raises cylinder pressure earlier in the stroke, which changes how much fuel atomizes, how quickly the flame kernel grows, and how much residual exhaust gas is left after port close. Leaner jetting makes peak pressure occur earlier and increases detonation risk; richer jetting cools the charge but can wash the cylinder. Move corrected CR more than 0.5 points and expect to re-jet — start one size richer than you think you need and work lean.

How do I find my engine's exhaust port close angle?+

Three ways: (1) Look it up in the factory service manual or a known engine build thread — most popular 2-strokes (TZ250, KTM 250SX, Yamaha Blaster) have published port-timing numbers. (2) Degree the crank with a piston stop and dial indicator: slowly rotate the engine toward TDC, watch a pushrod or dial indicator on the exhaust-valve cam (4-stroke) or use a cylinder leak test to find the point where air stops blowing through the exhaust port (2-stroke). (3) Measure the port height on the cylinder liner with calipers, then convert using the engine's stroke and connecting-rod length — A. Graham Bell's Two-Stroke Performance Tuning has the formula.

Is corrected CR more important than static CR for jetting?+

Unequivocally yes. The carburetor only sees the charge that is actually compressed — the fraction from port close to TDC. Static CR tells you how much metal is in the cylinder, but it does not tell you how much mixture the spark plug will ignite. If you tune jetting by static CR alone, you will run way too rich for a 2-stroke, because static overstates the compression by 30–50%. Jet off corrected CR, and verify with plug chops and EGT before calling it done.