P0336 Code: Crankshaft Position Sensor A Circuit Range/Performance

The P0336 code means your engine control module has detected that the crankshaft position sensor A circuit is producing a signal, but that signal is outside the expected performance range. The P0336 code is closely related to the P0335 code — which flags a complete circuit malfunction — but there’s an important distinction. Where P0335 means the signal is absent or the circuit has a definitive fault, the P0336 code means the signal exists but isn’t performing within the parameters the ECM needs for reliable engine management.
The crankshaft position sensor is one of the most critical inputs the ECM relies on. It tells the ECM exactly where the crankshaft is at any given moment — which cylinders are approaching top dead center, how fast the engine is spinning, and when to fire the ignition and inject fuel. When the P0336 code is stored, that information is arriving at the ECM in a form it can’t fully trust.
The ECM’s response to the P0336 code varies by manufacturer, but typically involves defaulting to a more conservative engine management strategy — which means reduced performance, poorer fuel economy, and in some cases, intermittent stalling. Understanding the P0336 code and its causes is the first step toward restoring proper engine operation.
What You’ll Notice
- Check engine light on
- Intermittent stalling, especially at idle or low speed
- Rough or erratic idle
- Hesitation or stumble during acceleration
- Hard starting, particularly when hot or cold
- Random misfires with no consistent cylinder pattern
- Tachometer needle that fluctuates or drops momentarily
- Engine cutting out briefly at highway speed then recovering
- Symptoms often come and go — the P0336 code typically produces intermittent rather than constant faults
The intermittent nature of P0336 code symptoms is one of its defining characteristics. Because the signal is out of range rather than completely absent, there are moments when it performs adequately — which makes the fault harder to catch and reproduce than a clean failure.
What the Crankshaft Position Sensor Does
The crankshaft position sensor — often called the CKP sensor or crank sensor — reads a toothed reluctor ring mounted on the crankshaft. As each tooth passes the sensor, it generates a pulse. The pattern of pulses tells the ECM the exact position and rotational speed of the crankshaft at all times.
This data feeds directly into ignition timing, fuel injection timing, and misfire detection. Without accurate crankshaft position data, the ECM can’t run the engine efficiently — and a signal that’s out of range, as flagged by the P0336 code, is almost as problematic as no signal at all.
According to SAE J1979 OBD-II standards, the P0336 code is stored when the crankshaft position sensor signal is detected but falls outside the expected range or performance parameters during engine operation.
What Usually Causes the P0336 Code
1. Failing crankshaft position sensor The most common cause of the P0336 code. A sensor in the early stages of failure produces an inconsistent signal — not completely dead, but unreliable. This often manifests as a thermal failure pattern: the sensor works adequately when cold but produces an out-of-range signal once it reaches operating temperature. The P0336 code in this scenario appears after the engine warms up and clears when the engine cools down.
2. Damaged reluctor ring The reluctor ring on the crankshaft can crack, lose one or more teeth, or accumulate debris between its teeth. A ring with one missing tooth produces a regular dropout in the signal pattern — once per crankshaft revolution — that the ECM detects as an out-of-range performance fault and stores as the P0336 code. This is particularly common on high-mileage engines and on engines that have experienced overheating or severe vibration.
3. Incorrect sensor air gap The crankshaft position sensor must be positioned at the correct distance from the reluctor ring. If the sensor has come slightly loose, if the reluctor ring has shifted, or if bearing play has changed the gap, the signal amplitude changes in ways that trigger the P0336 code. This is especially relevant after recent engine work where the sensor was removed and refitted — if the torque was incorrect or a shim was missed, the P0336 code follows.
4. Intermittent wiring fault A wire with partial insulation damage, or a section of harness that flexes during engine operation, can develop a fault that appears only under movement or vibration. The P0336 code from an intermittent wiring fault is particularly frustrating to diagnose because the fault disappears when the engine is off and the harness is static. Wiggling the harness near the sensor while monitoring live data is often the fastest way to expose this cause.
5. Loose or corroded connector A connector that has developed micro-corrosion on its terminals, or one that has worked slightly loose over time, produces an intermittent connection. The signal drops out momentarily when the connector moves or when the terminal resistance changes with temperature — generating the P0336 code without any permanent damage to the sensor or wiring.
6. Electromagnetic interference A failing alternator producing AC ripple, or nearby ignition wiring that’s been rerouted too close to the sensor signal wire, can induce interference that corrupts the crankshaft position signal. The P0336 code from EMI often appears alongside other intermittent sensor codes and typically correlates with electrical system faults rather than isolated sensor issues.
7. Worn crankshaft bearings Excessive crankshaft bearing wear allows the crankshaft to move laterally — changing the gap between the reluctor ring and the sensor with every revolution. This variable gap produces an inconsistent signal amplitude that the ECM flags as out-of-range, storing the P0336 code. If this is the cause, the P0336 code is the least of the engine’s problems — worn main bearings require immediate attention.
8. Debris or metallic contamination near the sensor Metal filings or debris from internal engine wear can accumulate near the crankshaft position sensor — particularly on magnetic sensors that attract metallic particles. A buildup of debris between the sensor and the reluctor ring reduces the effective gap and disrupts the signal, contributing to the P0336 code.
How Serious Is the P0336 Code?
The P0336 code is serious — and its intermittent nature makes it deceptively easy to dismiss.
A crankshaft position sensor producing an out-of-range signal is one that’s failing progressively. The P0336 code today is often the P0335 code — a complete signal loss — in the near future. And a complete signal loss means the engine stalls and refuses to restart.
Beyond the imminent failure risk, the P0336 code means the engine is running on unreliable timing data right now. Ignition timing that’s based on a faulty signal causes misfires, reduces efficiency, and over time causes unnecessary wear. A vehicle that stalls unexpectedly at highway speed is also a genuine safety risk.
Address the P0336 code before it escalates. The repair is almost always straightforward.
How to Diagnose the P0336 Code
Step 1 — Read all stored codes and freeze frame data
Confirm the P0336 code and look for companion codes. The P0335 code alongside P0336 means the signal has been both intermittent and absent — pointing strongly at the sensor itself or a wiring fault close to complete failure. Misfire codes like P0300 alongside P0336 are often caused by the unreliable crankshaft signal rather than actual combustion issues. The freeze frame data tells you the exact conditions — RPM, temperature, load — when the P0336 code was stored.
Step 2 — Check sensor mounting and air gap
Locate the crankshaft position sensor and confirm it’s properly secured. A sensor that moves by hand has come loose — retighten to specification and clear the P0336 code before further testing. On sensors with an adjustable gap, verify the gap against the manufacturer’s specification — typically 0.5–1.5mm depending on the vehicle.
Step 3 — Inspect the sensor and connector
Inspect the sensor body for cracks, heat damage, or debris accumulation. Check the connector for corrosion, moisture ingress, and properly seated pins. Gently flex the wiring harness near the sensor while monitoring live RPM data on a scan tool — any change in the reading when you move the harness identifies an intermittent wiring fault causing the P0336 code.
Step 4 — Inspect the reluctor ring
Remove the sensor and inspect the reluctor ring with a flashlight. Rotate the engine slowly by hand using a breaker bar on the crankshaft bolt and inspect the full circumference of the ring. Look for:
- Missing or chipped teeth
- Cracks in the ring body
- Metallic debris packed between teeth
- Any sign the ring has shifted position on the crankshaft
One missing tooth produces a regular dropout in the signal pattern — a classic cause of the P0336 code that’s easily confirmed visually.
Step 5 — Monitor live data during a drive
Connect a scan tool capable of graphing RPM in live data and drive the vehicle under the conditions described in the freeze frame. Watch for any brief dropout or spike in the RPM reading that doesn’t correspond to actual throttle input. A momentary RPM dropout confirms the P0336 code is active and occurring under real driving conditions.
Step 6 — Oscilloscope test
An oscilloscope connected to the crankshaft position sensor signal wire gives you the most complete picture of what’s causing the P0336 code. A healthy sensor produces a clean, consistent waveform. Dropouts, irregular pulse spacing, or noise in the waveform all point to the specific type of fault — missing tooth, failing sensor, or wiring interference.
Step 7 — Heat test the sensor
If the P0336 code only appears after the engine warms up, perform a heat test. Allow the engine to reach full operating temperature and monitor the sensor signal in live data. Alternatively, use a heat gun to warm the sensor body gently with the engine off and then test resistance — a sensor that fails when heated but recovers when cool has a thermal failure causing the P0336 code.
Step 8 — Check the alternator
If the P0336 code appears alongside other intermittent electrical faults, test the alternator for AC ripple. More than 0.5V AC across the battery terminals with the engine running indicates a failing alternator diode contributing to the P0336 code through electromagnetic interference.
How to Fix the P0336 Code
Resecure the sensor and correct the air gap — If the sensor is loose or the gap is incorrect, fix this first. It’s free and often resolves the P0336 code completely without any parts replacement.
Replace the crankshaft position sensor — If the sensor is confirmed as producing an out-of-range signal due to degradation or thermal failure, replacement is the fix. Use an OEM or quality aftermarket sensor — cheap crankshaft position sensors are a known cause of the P0336 code returning shortly after replacement. After fitting, clear the code and perform a proper drive cycle to confirm the repair.
Repair wiring and connectors — Damaged wiring or corroded connectors causing the P0336 code need proper repair with automotive-grade materials. Secure the repaired harness away from heat sources and ensure it can’t chafe against suspension or engine components.
Clean or replace the reluctor ring — Debris accumulation can sometimes be cleaned carefully. A physically damaged reluctor ring — missing teeth, cracks — needs replacement. Depending on whether the ring is a separate component or machined into the crankshaft, this may involve significant engine disassembly.
Replace the alternator — If AC ripple from the alternator is causing the P0336 code, a new alternator resolves it without touching the sensor system.
Address crankshaft bearing wear — If excessive bearing play is causing the variable gap that produces the P0336 code, the engine needs mechanical repair. This is a significant job — get a proper assessment before committing.
P0336 on Specific Vehicle Makes
Toyota and Lexus: The P0336 code appears on various Toyota and Lexus engines, particularly on V6 and V8 platforms at higher mileage. The crankshaft position sensor on many Toyota engines is mounted in a location exposed to heat, and thermal sensor failures causing P0336 are well documented.
Honda and Acura: On Honda K-series and J-series engines, the P0336 code is typically a sensor replacement. Honda crankshaft position sensors are generally accessible and inexpensive. Connector corrosion is a common contributing cause on higher-mileage examples.
Ford: On Ford EcoBoost engines and Modular V8s, the P0336 code sometimes relates to reluctor ring issues — particularly on higher-mileage EcoBoost engines where timing chain wear can affect sensor signal quality. Check the timing system condition alongside the sensor when diagnosing P0336 on these engines.
General Motors: On GM LS-series engines, the P0336 code can appear from sensor degradation or reluctor ring damage. The 58-tooth reluctor ring on LS engines is robust, but high-mileage examples with a history of overheating can develop ring cracks that trigger P0336.
BMW: On BMW engines, the P0336 code occasionally relates to the tone wheel rather than the sensor itself. BMW uses pressed tone wheels on some models that can develop cracks or become loose at high mileage, producing the out-of-range signal pattern that stores P0336.
What It Might Cost to Fix the P0336 Code
| Repair | Estimated Cost |
|---|---|
| Sensor remounting / gap correction (DIY) | Free |
| Crankshaft position sensor replacement | $80 – $300 |
| Wiring / connector repair | $100 – $400 |
| Reluctor ring replacement | $300 – $1,000 |
| Alternator replacement | $200 – $600 |
| Crankshaft bearing repair | $1,000 – $3,000+ |
Costs vary significantly by vehicle make, model, and sensor location. Always get a vehicle-specific estimate for the P0336 code repair.
Related Codes
- P0335 — Crankshaft Position Sensor A Circuit Malfunction
- P0320 — Ignition/Distributor Engine Speed Input Circuit Malfunction
- P0321 — Ignition/Distributor Engine Speed Input Circuit Range/Performance
- P0316 — Misfire Detected on Startup
- P0300 — Random/Multiple Cylinder Misfire Detected
- P0340 — Camshaft Position Sensor A Circuit Malfunction
- P0341 — Camshaft Position Sensor A Circuit Range/Performance
Frequently Asked Questions
Can I drive with the P0336 code? With mild symptoms and a steady check engine light, short necessary trips are possible. But the P0336 code indicates an unreliable crankshaft signal that can escalate to a no-start condition without warning. A vehicle that stalls unexpectedly at speed is a safety risk. Get the P0336 code diagnosed as soon as possible.
Why does the P0336 code only appear when the engine is warm? Thermal failure of the crankshaft position sensor is the most common reason. The sensor works adequately when cold but fails as it heats up — a classic pattern of a component whose internal materials have degraded. The P0336 code storing consistently after warmup, then clearing after cooldown, is a strong indicator of a thermally failing sensor.
What’s the difference between the P0336 code and P0335? The P0335 code means the crankshaft position sensor circuit has a definitive malfunction — typically no signal at all or a circuit that’s clearly open or shorted. The P0336 code means the signal exists but is outside the expected performance range. P0336 is often the precursor to P0335 as the sensor or wiring degrades progressively.
Can the P0336 code cause random misfire codes? Yes. The ECM uses the crankshaft position signal to detect misfires by monitoring for irregular spacing between crankshaft pulses. When the P0336 code is active and the signal is unreliable, the ECM misinterprets signal dropouts as misfire events — storing codes like P0300 even when combustion is actually normal. Fix the P0336 code first before chasing misfire causes.
How do I know if it’s the sensor or the reluctor ring causing P0336? An oscilloscope is the most reliable tool. A failing sensor produces a noisy or weak waveform consistently. A damaged reluctor ring produces a waveform that’s clean most of the time but has a regular dropout at one specific point per revolution — corresponding to the missing or damaged tooth. Visually inspecting the ring after removing the sensor also confirms tooth damage quickly.
Will the P0336 code clear itself? If the fault is intermittent, the check engine light may go off temporarily — but the P0336 code remains stored in the ECM’s memory. It returns the next time the out-of-range condition occurs. Clearing the code without fixing the underlying fault just resets the counter temporarily.
For more information on crankshaft position sensors and OBD-II diagnostic standards, visit the National Highway Traffic Safety Administration (NHTSA) or the SAE International standards library.
This guide is for informational purposes only. For an accurate diagnosis, always consult a qualified mechanic.




