Mixpanel does provide Operating System as a property for websites when you use the JavaScript SDK.
In the default properties table for client-side SDKs, $os (Operating System) is listed as an event property and is collected for JavaScript (web) as well as for Android and iOS. [Default props – events]
It is also available as a user property for JavaScript (web) once you are updating any profile properties. [Default props – users]
If you’re not seeing $os:
- Make sure you’re using a client-side SDK (e.g. mixpanel-browser / JS snippet), not only server-side tracking, since server-side does not auto-parse User-Agent. [Server-side best practices]
- Confirm you haven’t disabled it via property_blacklist in mixpanel.init. [JS privacy-friendly tracking]