Utility Meter OCR – Snap & Log Gas, Electric & Water Readings

Snap or upload a photo of any utility meter. OCR reads the number, you confirm or correct it, and the tracker logs your gas, electric, and water usage over time — fully offline, no account needed.

Electric Meter kWh

📷
Tap to snap / upload a meter photo
JPG or PNG, processed locally in your browser
meter photo preview

🔒 All processing happens in your browser. No image or reading is ever sent to a server.

Electric History

No readings yet. Snap a meter photo above to get started.

How it works

Four steps — all running inside your browser, nothing uploaded anywhere:

1. Snap or uploadTake a photo of your meter display with your phone camera or upload an existing JPEG/PNG.
2. OCR extractionTesseract.js (open-source OCR) scans the image and pulls out the digits from the dial or LCD display.
3. Confirm & logReview the extracted number — correct it if needed — then tap "Log reading". The date and value go into localStorage.
4. Track & exportEvery new reading calculates usage since the previous one. A chart shows trends; CSV export lets you save or share data.

OCR accuracy tip: Good lighting, a straight-on angle, and a photo focused on the digit panel give the best results. If OCR misses, just type the correct value in the confirm box.

Frequently asked questions

Does my meter photo get sent to a server or stored in the cloud?
No. The image is decoded entirely inside your browser using Tesseract.js (a WebAssembly OCR engine) and is never transmitted anywhere. Readings are stored only in your browser's localStorage, which stays on your device. Clearing your browser data removes them, so export to CSV regularly if you want a backup.
What types of meters does OCR work with?
Tesseract works best on high-contrast LCD and digital displays — common on modern electric sub-meters, gas meters, and digital water meters. Analog dial meters (with rotating pointers) are much harder for OCR; for those, use the "Enter reading manually" option and just type the value. The confirm-and-correct step means OCR errors are never silently logged.
How is usage calculated?
Usage is simply the current reading minus the previous reading: Usage = Current − Previous. The readings must be in the same unit (kWh for electric, m³ or therms for gas, m³ or gallons for water). If a reading is lower than the previous one — meaning the meter rolled over — the tracker shows a warning rather than a negative value. You can delete any erroneous entry using the × button in the history table.
Can I track multiple meters — for example, two electricity meters or a gas and a water meter?
Yes. Each of the three tabs (Electric, Gas, Water) keeps its own independent history in localStorage. Switch tabs to log readings for different utility types. If you have two meters of the same type, the simplest approach is to note the combined reading, or export both meter readings individually and total them in a spreadsheet.
What does the CSV export contain?
The exported file has four columns: Date, Reading, Usage (since previous reading), and Unit. One row per logged reading, sorted oldest-first. You can open it in Excel, Google Sheets, or any spreadsheet app to calculate costs, compare months, or create your own charts.