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
> ATZ ELM327 v1.5 > 03 # stored DTCs 43 01 01 71 00 00 00 P0171 system too lean, bank 1 > 010C # engine speed 41 0C 0B B8 750 rpm > 0105 # coolant temp 41 05 7B 83 °C > 04 # clear DTCs 44 cleared, monitors reset
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.
- 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.
- Turn the ignition on and open the app in Chrome or Edge, choose Bluetooth (BLE) or USB serial, and pick your adapter.
- Scan, read, clear. Codes appear alongside live data, and everything stays on your device.
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 |
|---|---|
| Web Bluetooth (BLE adapters) | Chrome / Edge on desktop & Android, HTTPS required |
| Web Serial (USB adapters) | Chrome / Edge on desktop & Android, HTTPS required |
| iOS Safari | Not supported by Apple; use demo mode or an Android device |
| Classic Bluetooth (SPP) adapters | Not reachable from browsers; choose a BLE or USB adapter |
| Installable / offline | Add 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.