I’ve tested literally hundreds of OBD-II scan tools in DIY to semi-professional budget and this is a list of best overall I found.
Affiliate Disclosure: iamcarhacker.com is an Amazon and other affiliate programs Associate. As an Amazon Associate, I earn from qualifying purchases. Full Affiliate disclosure.
Quick recommendations

XTool A30
Semi-professional scanner for smartphone/tablet. Full-system scan, live data, service resets, and bi-directional testing.
(10% OFF with “CARHACKER” on official website)

VGate icar PRO 2s
Cheap ELM327 adapter but is hiding one of the fastest ELM chips with a stable connection. Use 100+ elm apps from the app store.(iOS/Android/Windows)

Thinkscan 689BT
This is a semi-professional/professional scan tool with full-system access, full diagnostic features, 34 reset functions, and OEM ECU coding.
($99 OFF coupon on official website)

XTool D7
One of the cheapest scan tools on the market, but it has everything for diagnosing faults, 36 service resets, and even ECU coding.
(10% OFF with “CARHACKER” on official website)

Vdiagtool VD30
Simple scanner to connect with your engine module and see faults, erase check engine and do emission check.
My insights after testing 100+ OBD2 tools

I’ve tested literally hundreds of OBD2 scanners, so let me tell you why I find these the best value for money.
1. xTool A30

xTool A30 is one of the best choices for DIY mechanics as you are getting scan tool functionality for cheap price.
There are 3 versions of the xTool A30 adapter (A30, A30D, and A30M) but the only difference is the number of service procedures (8, 14, 21), otherwise, everything is the same.
I bought the cheapest of 3 different A30 versions on Aliexpress for around $96 and it comes with an extension cable, free lifetime updates, and all the functionality I might need as a home mechanic.
The best deal is on xTool website, use coupon “CARHACKER” for 10% OFF