Why every user agent claims to be Mozilla
Because of thirty years of pretending. Netscape called itself Mozilla; servers started checking for it; Internet Explorer copied the prefix so it would not be refused; Chrome copied Safari, which copied Mozilla and KHTML. The result is that Chrome on Windows announces itself as Mozilla, KHTML, Gecko and Safari all at once.
Which is the real lesson: parsing a user agent tells you what a browser claims, not what it is. Feature detection tells you what it can actually do, and does not break when a new browser appears.
The string is being frozen
Chrome has been reducing what the user agent reveals — minor versions, exact OS versions and device models are being replaced with fixed values, because the string is one of the strongest browser fingerprinting signals available.
User-Agent Client Hints are the replacement: the server asks for the specific facts it needs. Anything built on parsing the full string will get steadily less accurate.
Frequently asked questions
Why does Chrome say it is Mozilla and Safari?
Decades of compatibility workarounds. Each browser copied its predecessor’s prefix so servers would not refuse it. The string is a historical artefact, not a description.
Can I trust the user agent?
No. It is trivially changed and increasingly frozen by browsers on purpose. Use feature detection for behaviour and Client Hints for facts about the device.
Why is the version reported wrong?
Chrome now reports a fixed minor version to reduce fingerprinting. The detail simply is not in the string any more.
Something wrong with this tool, or an idea for it? Tell us