Compression Ratio Calculator
Copyright © 2003 Eric Fahlgren
Last updated 2007-09-18 11:17 PDT


This calculator lets you mess with milling depths and copper spacers and all that to see how they will affect compression ratio and cam timing. See the notes at the bottom for interpretation of the field values. The fields are primed with standard values for a VW 1.8 8v motor with 10:1 CR.

Length  millimeters  inches
Engine Parameters
Cylinder Borelen Cylinder Strokelen
Connecting Rod Length (2)len Intake Close ABDC (2)deg
Gasket Borelen Gasket Thicknesslen
Piston Clearance (3)len Top Ring Height (3)len
Cylinderslen Deck Heightlen
Head Chamber Volumecc  
Piston Dish Volume (4) cc  
Cylinder Volumecc Total Chamber Volumecc
Nominal Static CR:1 Nominal Trapped CR:1
Displacementcc DisplacementCID
Change CR
Milling Depthlen Cam Gear Pitch Diameter (5)len
Chord Depth 1 (6)len Chord Depth 2 (6)len
Spacer Thickness (7)len Spacer Bore (7)len
Chamber Volume Changecc New Chamber Volumecc
Resulting Static CR:1 Resulting Trapped CR (8):1
Cam Timing Errordeg      


  1. Use the Inch function, as in "Inch(0.040)", to enter values in inches. You can enter expressions with arithmetic operators into the fields, they will be evaluated properly. For example, enter "80.5+Inch(0.020)" into bore for an 80.5 mm bore with a 20 thousandths overbore.

  2. Connecting rod length and intake valve closing are used to compute trapped compression, i.e., how much of the stroke is really used to compress the intake charge. (Trapped CR is often called "dynamic CR," but the use of "dynamic" is completely incorrect, this measure is static and is a result of engine geometry and not its dynamic behavior; a true dynamic compression ratio would take into account the VE, gas flows and resonances in the system to determine the "swept volume.")

  3. Piston clearance and top ring height are used to compute the volume of the space between the piston and cylinder bore, above the top ring and below the piston face. People usually ignore this volume, but it is very significant at higher compression ratios.

  4. Piston dish is negative if you have a "domed" piston. Deck height is the amount of block above the top of the piston. If the piston pops out of the hole, then use a negative deck value.

  5. The cam gear pitch diameter allows me to compute the change in angle of the gear produced at a given change in head height (due to milling or spacers). For an 8V VW, the gear is 132 mm in diameter.

    A negative value indicates that cam timing is retarded, a positive value means it will be advanced. (As you mill the head, you have to "take up the slack" by turning the gear backwards, i.e., retarding it.)

  6. Milling to a negative depth is different from adding a spacer in that the milling computations allow for a non-circular section to be removed. (Milling and spacing will be the same if you enter zeros in the chord depths.)

    When the shape of the combustion chamber at the milling surface is not circular, you can approximate its shape by cutting one or two chords from the chamber. For an 8V VW engine, these chords are 8 and 11 mm. This image shows how to measure the chord depths:

  7. Spacer thickness should be the difference between the entered gasket value and the new head position. For instance, if you are replacing a 0.070" gasket with a 0.125" spacer, you would enter "Inch(0.125-0.070)" in the "Spacer Thickness" field.

    Alternatively, you could set the gasket thickness to zero (modifying the nominal CR) and set the spacer thickness to whatever you are installing. But! Be aware that if you set the gasket thickness to zero, then the cam error computations will be wrong! Cam error uses all the "Engine Parameters" dimensions to compute a zero error value, then computes stack height difference from the nominal position using the "Change CR" values.

  8. The resulting trapped CR is calculated using original cam timing, not the new cam timing with the error term.

Not2Fast hosted by TrackFiends