Three tiers, not one "best" scanner
OBD2 scanners split into three genuinely different tiers, and the right choice depends on what you're actually trying to do at a viewing — a quick generic fault-code check is a completely different job from diagnosing a transmission fault in depth.
Tier 1 — Budget Bluetooth dongles (ELM327-based)
The cheapest and most common option: a small Bluetooth or Wi-Fi adapter, typically ELM327-chipset based, that plugs into the OBD2 port and pairs with a free app on your phone. Widely available through Takealot and similar SA retailers, usually well under R300. These read basic generic engine fault codes reliably, which covers a real amount of what you need at a viewing — but many can't read manufacturer-specific codes, transmission-side codes, or live sensor data in any useful depth, and quality varies a lot between near-identical-looking units from different sellers.
Tier 2 — Dedicated handheld scanners (Foxwell and similar)
A standalone handheld unit, no phone required, typically in the low thousands of rand. Brands like Foxwell sell entry-level dedicated scanners aimed at DIY users and occasional buyers rather than professional workshops. These generally read a wider range of codes than a budget dongle, including some manufacturer-specific and transmission-side codes depending on the model, with a more reliable, purpose-built interface than a phone app.
Tier 3 — Professional-grade scanners (Autel, LAUNCH)
Brands like Autel and LAUNCH make professional diagnostic tools used by actual workshops, capable of deep manufacturer-specific diagnostics, live data graphing, and functions well beyond fault-code reading — bidirectional controls, module programming, and so on. These run into the tens of thousands of rand for the higher-end units. Genuinely excellent tools, but built for a workshop's daily use case, not a buyer checking one or two cars a year.
| Tier | Typical price | Right for |
|---|---|---|
| Budget Bluetooth dongle (ELM327) | Under R300 | Most buyers checking a car or two — reads the generic codes that matter most |
| Dedicated handheld (Foxwell and similar) | Low thousands of rand | Enthusiasts, or anyone buying several cars a year and wanting more depth |
| Professional-grade (Autel, LAUNCH) | Tens of thousands of rand | Workshops and mechanics — overkill for a single used-car purchase |
What actually matters for a used-car viewing
For the specific job of checking a used car before you buy it, a Tier 1 budget dongle covers the majority of what you need: reading stored generic fault codes, checking whether the check-engine light has been cleared without the underlying fault being fixed, and confirming basic engine health. Where Tier 2 earns its higher price is transmission-side codes — relevant if you're specifically checking a DSG, CVT, or automatic gearbox car (see our DSG and CVT gearbox guides) — since some budget dongles only read engine codes.
Not every budget ELM327 dongle reads the same range of codes, despite looking near-identical and being sold at similar prices. If reading transmission or ABS codes matters to you specifically, check the product description or reviews for confirmation before buying, rather than assuming.
How to use one at a viewing
See our full OBD2 scanner guide for the step-by-step process — plugging in, running a scan, and what different code categories actually mean once you've got a reading.
Buy for the job, not the spec sheet
A budget Bluetooth dongle genuinely covers most of what a used-car buyer needs. Step up to a dedicated handheld only if you're specifically checking gearbox-side faults or buying several cars a year — the professional-grade tier is solving a workshop's problem, not yours.
Frequently asked questions
Get the full 60-point inspection checklist — free
The complete inspection system for SA used car buyers. Print it. Take it to every viewing.
Fluid levels, leaks, hoses, timing belt access, battery and engine bay red flags — the Engine Bay Inspection Guide walks you through what a mechanic checks first.
Get the Engine Bay Inspection Guide — R75 →