Decoding What Your Water Heater Is Actually Telling You
Error codes on water heaters range from mildly annoying to genuinely dangerous, and most people just google the code and follow some random blog post without understanding what's actually broken. I've spent years looking at these things, and the biggest mistake I see is people treating every blink pattern as equally serious. They're not. Let me walk you through what you're actually looking at. They're diagnostic signals built into the control board that tell you where the system has detected a fault. Modern units — electric, gas, and heat pump — all have them now, though the formats vary wildly by manufacturer. Rheem uses E-codes, A.O. Smith has their own numbering, Rinnai communicates through the display with multi-digit sequences, and some budget brands just flash a power LED in patterns that aren't documented anywhere helpful. The error code will typically appear on the front panel display or through a blinking LED on the control board itself. On tankless units, it usually means one of three things: a temperature sensor has gone out, there's a ventilation issue, or the ignition sequence failed. On traditional tank models, you're more likely looking at a limit switch tripping or a sensor reading an abnormal temperature.
Here's something most manuals don't make clear: the code tells you which subsystem failed, not what failed. An E4 on a Rheem tankless could mean the primary air sensor is open circuit, or it could mean the wiring harness to that sensor has chafed and is touching the heat exchanger housing. The code is the starting point, not the diagnosis.
Common Error Code Categories and What They Actually Mean
I'll organize this by system type since the codes don't overlap well between them. These are the ones that cause the most panic for homeowners. A unit that suddenly stops producing hot water in the middle of a shower is stressful, and the code display doesn't help much when you don't speak Japanese or whatever language the manual uses. Ignition failure codes (often E1, 11, or similar depending on brand): The control board is telling you it tried to ignite and didn't succeed within the expected timeframe. Common causes: no gas supply (check the valve), a faulty gas valve, or a dirty flame sensor. I had a unit last year where the error was a cracked wire crimp on the flame rod connector — looked fine visually, but the connection was intermittent. A wiggle test with the unit running revealed it immediately.
Get the Full Details

Over-temperature or thermostatic limit codes (often E2, 30, or similar): Water temperature exceeded the safe threshold. This could be a legitimate sensor failure, a stuck gas valve letting fuel flow continuously, or — and this one trips people up — a circulator running in a system that wasn't configured for it, causing heat recirculation that the sensor interprets as overheating. Ventilation/airflow codes (often E5, 61, or similar): The pressure switch didn't close, or the draft control is out of spec. Usually a blocked intake, a failed inducer motor, or a cracked heat exchanger causing backpressure. If your unit is mounted in an enclosed closet with inadequate clearance, this will show up repeatedly and the fix isn't always clearing the vent — sometimes it's redesigning the enclosure.
Traditional Tank Water Heater Codes
These tend to be simpler. Electric models mostly report high-limit trips and sensor failures. Gas models add the ignition and draft categories on top. FL or high-limit codes: The upper limiting thermostat has tripped because the water got too hot. This is a safety device doing its job. Reset it, but if it trips again within 24 hours, you have either a stuck heating element relay, a bad upper thermostat, or sediment buildup on the lower element causing it to overheat water that can't transfer properly. LE or low-efficiency codes on hybrid heat pump units: These are common on newer combination electric-heat-pump water heaters. The system is telling you it can't maintain the set temperature efficiently. Could be a refrigerant issue, a fan failure, or simply that the ambient temperature around the unit has dropped below the heat pump's operating minimum. Most heat pump water heaters stop being efficient below about 45°F ambient and shut down the compressor entirely, reverting to resistive heating.
How to Actually Use the Error Code to Fix the Problem
Step one is always the manual. Yes, really. The generic code lists you find online are often wrong because manufacturers use the same code numbers for different faults across product lines. If your unit is a RheemPerformance Platinum 50-gallon, the E6 code means something different than if it's a standard Performance 40-gallon. Find the model number on the data plate, pull the correct manual, and verify before you tear anything apart. Step two is understanding the code context. Did the error appear immediately on power-up? That usually points to a sensor or wiring issue. Did it appear after the unit had been running for a while? That's more likely a component failing under load or a buildup problem. I had a Rinnai unit once that threw an over-temp code only during the winter months when incoming water temperature was at its lowest. The unit was compensating aggressively, and the flow sensor was giving slightly erratic readings that accumulated into a false high-temperature condition. Replacing the flow sensor assembly fixed it permanently. A Google search would have pointed you at the heat exchanger, which is a $600 part versus a $45 sensor. Step three is the systematic check. Don't replace parts based on the code alone. Verify the obvious things first: power is present, gas is on, water pressure is adequate, vents are clear. Then move to the specific components the code points to. Use a multimeter. Check resistance values against the spec sheet in the manual. A thermistor that reads 10k ohms at room temperature should read roughly 3-4k ohms at 160°F. If it reads 8k at that temperature, it's degraded and needs replacement even if it's still conducting.

Water Heater User Manual Error Codes — Where to Find Them When You Need Them
If you've lost your manual, most manufacturers host them on their websites now. Rheem, A.O. Smith, Bradford White, Rinnai, Navien, and Noritz all have searchable PDF manuals. Some third-party sites like manualslib.com aggregate them, but I'd always cross-reference with the manufacturer's site to make sure you have the exact model variant. The wrong manual version will give you the wrong code meanings. This happens more often than you'd think. Control boards can glitch. A power surge can corrupt the diagnostic routine and throw a false code. I've seen units display a flame failure code when the actual problem was a tripped GFCI on the power supply — the board reset mid-diagnostic and reported the last error it had processed rather than the current state. The workaround is to clear the code and let the unit attempt a full cycle. Power it down for 30 seconds, restore power, and watch what happens. If the code returns immediately, it's a real fault. If the unit runs through a cycle without the code returning, you had a transient issue — possibly a voltage spike, a momentary gas pressure drop, or a loose connection that's still there and will probably come back.
Another common misleading scenario: the code points to a component, but the component is fine. This is especially true with pressure switches and airflow sensors. A clogged vent hose connection to the pressure switch can make a perfectly good switch look faulty. Clean the hose, check the seal, retest before replacing the switch.
Red Flags That Go Beyond the Error Code
Sometimes the unit will run without throwing a code and still be failing. Pay attention to physical symptoms. Squealing from the inducer motor means bearing wear — it'll fail eventually and then you'll get a ventilation code you can't clear. Rumbling or popping from the tank during heating is sediment booming, and it's gradually reducing your efficiency and shortening the tank's life. That won't show up as an error code until something breaks. On tankless units, if you're getting periodic performance drops that resolve themselves after a cooldown, you're likely dealing with mineral scaling on the heat exchanger. The unit may not throw a code for this for months. Descaling annually in hard water areas is preventative maintenance, not something you wait for a code to address.

What Not to Do
Don't ignore persistent codes. A single intermittent code that doesn't recur might be worth monitoring. A code that returns every time you try to use hot water is a real problem. Don't short out sensors or bypass safety switches to make the code go away — I've seen people do this and then wonder why their water came out scalding or why the unit started leaking. Don't assume the cheapest replacement part is the right one. A $15 thermistor and a $60 OEM flow sensor might look identical externally, but the tolerance curves are different, and using the wrong one can cause the control board to misread temperatures and trigger secondary faults. The bottom line: the error code is a pointer, not an answer. Treat it as the beginning of the diagnostic process, verify everything with actual measurements, and read the actual manual for your specific model. The people writing those manuals know exactly how these units fail because they've seen the failures. The free summaries you find online were written by people who've never opened one.