Read check-engine codes from your browser.

Connect any cheap ELM327 Bluetooth LE or USB adapter and get codes, live data and a full ECU scan. No install, no account, and no data leaves your device. It works offline once loaded.

  • client-side only
  • no ads
  • PWA
  • MIT

What it does

A basic scan tool's feature set in a single page you can install on your phone, and nothing that needs a server.

Read and clear codes
Pull diagnostic trouble codes, including pending and permanent ones. Check MIL status and clear faults once the repair is done.
Live sensor data
RPM, coolant temperature, vehicle speed, fuel trims, O₂ sensors and more, streamed while the engine runs.
Multi-ECU CAN scan
Query transmission, ABS, airbag and body modules on supported vehicles, not just the engine controller.
VIN readout
Fetch the vehicle identification number from the car, useful for ordering parts or verifying a used purchase.
JSON report export
Save a complete diagnostic report as a file to keep records, show a mechanic, or track repairs over time.
Honda scooter MIL decoder
For non-OBD-II two-wheelers: log the MIL flashes (long = tens, short = ones) and decode the fault code.
Offline
Once loaded, the app keeps working in a basement garage or at the roadside with no signal.
Private by architecture
The page makes zero outbound network requests. Your VIN, codes and logs never leave the device.
Demo mode
No hardware yet? Run the whole interface against a simulated car before buying an adapter.

How it works

About two minutes, and roughly $15 if you don't already own an adapter.

  1. Plug an ELM327 adapter into the OBD-II port, usually under the dashboard on the driver's side. Any $10–20 BLE or USB clone works.
  2. Turn the ignition on and open the app in Chrome or Edge, choose Bluetooth (BLE) or USB serial, and pick your adapter.
  3. Scan, read, clear. Codes appear alongside live data, and everything stays on your device.
Why no cloud: most scan-tool apps upload your VIN and vehicle history to company servers and put features behind a subscription. This is one static page with no backend, no analytics and no subscription. The source is MIT licensed and auditable.

Compatibility

Modern Chrome or Edge over HTTPS. Apple has not enabled Bluetooth or Serial in iOS Safari, so iPhone users can still explore in demo mode.

Feature support
FeatureSupport
Web Bluetooth (BLE adapters)Chrome / Edge on desktop & Android, HTTPS required
Web Serial (USB adapters)Chrome / Edge on desktop & Android, HTTPS required
iOS SafariNot supported by Apple; use demo mode or an Android device
Classic Bluetooth (SPP) adaptersNot reachable from browsers; choose a BLE or USB adapter
Installable / offlineAdd to home screen on Android & desktop (PWA + service worker)

FAQ

Is it really free?

Yes. It is free and open source (MIT) with no upsells. The only thing you might spend money on is the ELM327 adapter itself.

Which adapter should I buy?

Any ELM327-based adapter labeled BLE (Bluetooth Low Energy) works with phones and tablets; a USB ELM327 works with laptops. Avoid classic-Bluetooth (SPP) only units, since browsers cannot reach them.

Will it work on my car?

All cars sold in the US since 1996, in the EU since 2001 (petrol) and 2004 (diesel), and in most other markets are OBD-II compliant. If it has a 16-pin DLC port under the dash, it almost certainly works.

Does clearing codes fix the problem?

No. It turns off the light and resets monitors, and the code returns if the fault persists. Use it after a repair, or to check whether an intermittent fault comes back. Clearing also resets emissions readiness monitors, so drive a normal duty cycle before an inspection.

Where does my data go?

Nowhere. The app performs zero outbound requests, and exports are user-initiated file downloads only. Once loaded, it runs offline via its service worker.