# vysor.io: the download site and release history behind Vysor phone mirroring

> The vysor.io repository is the website and download portal for Vysor, the tool that mirrors and controls an Android phone from a desktop, with a browser app that runs over WebUSB. It is not the application source, and the parts of it that are readable are the download matrix, the changelog, and the licence document that sits next to a marketing site.

**koush/vysor.io** — Vysor - Mirror and Control your Phone

- Repository: https://github.com/koush/vysor.io
- Website: https://vysor.io
- Stars: 2,033 · Forks: 343
- Language: HTML
- License: not declared
- Published: 2026-10-20 · Updated: 2026-10-20 · Language: en
- Canonical page: https://hysenlabs.com/projects/koush-vysor-io

## This repository is the website, not the application

The most important thing to understand about this repository is what it is not. The top level entries are the parts of a website: an index.html, a style.css, a CNAME file, a _config.yml for the site generator, a _redirects file, directories for bootstrap and magnific-dist for the page assets, folders for images, assets, downloads, privacy and purchase pages, and a server directory. The primary language recorded for the project is HTML, which is consistent with that. The application itself, the thing that mirrors your phone, is not in this tree. The README is a download list and a change log, and it points to a separate repository for the command line tool, so the client, the driver work and the protocol handling all live somewhere this repository does not contain. That makes this a useful archive of decisions and a download index, and not a codebase you can read to understand how the mirroring works.

## Five ways to get Vysor, one of which is a browser

The downloads section covers five distinct routes, and the differences between them matter more than the list suggests. There are native desktop builds for Windows, Mac and Linux, and the Linux download is a deb package that the README warns will not autoupdate, with setting up the apt repository recommended instead so updates arrive automatically. That single line is the kind of detail that saves a support conversation later, because a stale Linux build fails in ways that have nothing to do with the phone. Then there is the browser option, which covers ChromeOS, a plain browser and the progressive web app at the same address, and finally the Android side, with an APK available both through Google Play and as a direct download, plus the separate command line tool in its own repository. The desktop screenshot on the README page shows the mirrored device in a native window, and the presence of a Discord invite link at the top of the README suggests support is handled through chat rather than a forum.

## Version 3 was the rewrite that moved Vysor into the browser

The change log is where the substance of this repository is, and version 3.0 is the pivot. The author describes it as the first real major revision despite being the third version, and lists what changed. Both the native and Chrome apps, which had been killed, were completely rewritten to support installation as a progressive web app, so Vysor works in any browser that supports WebUSB. A new video decoder using WebAssembly was added as a reliable alternative to the native NaCL and PNaCL decoders, and it is selectable in the device settings, with the note that it may resolve black screen issues. The decoder also detects use of the h264 main profile and suggests an automatic fix, which the changelog attributes to another black screen issue. The user interface was overhauled, Vysor Share received performance and reliability work, a system tray was added that lists connected devices, and the native apps gained a full frameless window option where you can pin the title bar and remove the navigation keys to get a bare window showing only the device screen.

## Audio mirroring went from Chromecast emulation to AudioWorklets

The audio story is a good illustration of how the project solved a compatibility problem by getting out of the way of the platform. Version 3.1 added support for Android 10's built in audio mirroring, and the changelog says that Vysor no longer requires Chromecast emulation to mirror audio. That is a significant change, because emulating a Chromecast to push audio was a workaround, and the built-in path on Android 10 is both simpler and more reliable. Then in the version 3 list there is a separate item saying Vysor Audio was updated to support AudioWorklets, which fixes the audio drift. AudioWorklets is the browser mechanism for running audio processing off the main thread, and it is the usual answer to a stream that stutters or drifts in latency. Taken together, the two entries describe a project that stopped faking a display device and started using the phone's own audio path, then fixed the timing in the browser.

## iOS mirroring arrived later, and the hardware path is a dongle

The two most recent feature lines in the changelog are the iOS ones, and they are the reason the desktop apps still exist. Version 4.0 added iOS mirroring on Mac with screen mirroring, audio mirroring, and control via Bluetooth keyboard and mouse emulation. Version 4.1 brought the same set to Windows and Linux, with the control part changing: on those platforms you use a Bluetooth keyboard or mouse with a separate piece of hardware called the Vysor Dongle, which has its own wiki page. That is a meaningful difference from the Mac path, where the emulation is built in and no extra hardware is needed. Notification mirroring came earlier, in version 3.2, which added support for mirroring Android notifications to the desktop. Together these entries explain why the desktop downloads remain useful: iOS support on Windows and Linux depends on a dongle, and the changelog treats that as a feature rather than a workaround.

## The browser app can be embedded in your own page

One of the version 3 changes is easy to miss and has practical value for anyone building a tool around a phone. Vysor can be embedded into other websites via an iframe, and the URL format is given as app.vysor.io followed by a device path with the serial number. The stated uses are setting up presentations and testing tools, and both make sense: a presentation that needs to show a phone screen, and a QA process where a tester drives a real device from a page they already have open. The same progressive web app address serves ChromeOS users, plain browser users and the installable app, which means the iframe route and the app route are the same software with the same constraints, in particular the WebUSB requirement. It is worth noting what this implies, because an iframe that talks to a device over WebUSB needs the user's permission and a browser that offers it, so the embedding is a convenience for the user rather than a background capability for the page.

## A licence document that GitHub could not classify

The licensing situation needs a sentence of its own, because the repository carries a document called VysorLicense.pdf at its root and the licence field on the repository is not one GitHub could classify, so there is no standard identifier to look up. The rest of the tree is a marketing site, with a purchase directory, a purchase-complete directory, a redirect directory, an install.js file and a protocolcheck.js file, which together describe a commercial product with a licence that is delivered as a PDF rather than as a recognised open source licence. The README also links a Discord invite, a privacy directory and a support route, all consistent with a product rather than a library. There is a privacy policy page, a purchases flow and a protocol check script in the same tree, and a changelog that only goes so far back in the visible text, with the newest entries for the 4.x line and the 3.2 notification mirroring release. If you are evaluating Vysor for use at work, the licence PDF is the document to read, and it is in the repository rather than on a separate page.

## Version numbering and the gap between the two lines

The release history is worth reading carefully because it shows two separate tracks. The tags include v6.0.2 dated 2026-10-16, then v5.0.17 from May 2023 and v5.0.7 from a couple of days earlier in the same month. Meanwhile the changelog text in the README describes the 4.x and 3.x lines with the iOS and browser work. So the visible changelog and the visible tags are describing different generations of the product, and the 6.0.2 tag from October 2026 is the current published state even though the narrative in the README stops at 4.1. The last push to the repository was on 2026-10-16, the same day as the v6.0.2 tag, so the site and the tag are moving together. What that means for a reader is that the changelog in the README is a curated highlight of the big transitions rather than a complete release history, and the tag dates are the better guide to how often the project actually ships.

## Conclusion

vysor.io is worth reading if you want to know what Vysor can do across versions, since the changelog documents the shift from a native desktop app to a progressive web app and the later arrival of iOS mirroring, but it is not a place to look for the implementation. For an engineer, the practical entry points are the per-platform downloads, the browser app for a WebUSB capable browser, and the separate command line tool project. Before depending on Vysor in a workflow, read the VysorLicense.pdf at the repository root, since the licence is not one GitHub could classify, and check whether the platform you need is on the download list, because the Linux package is a deb that does not autoupdate unless you set up the apt repository.

## FAQ

### How do I download Vysor?

There are native downloads for Windows, Mac and Linux, an Android APK available through Google Play and as a direct download, a command line tool in its own repository, and a browser or progressive web app at app.vysor.io that works in any browser with WebUSB support. The Linux package is a deb that does not autoupdate unless you set up the apt repository.

### Can Vysor mirror an iPhone?

The changelog describes iOS mirroring on Mac in version 4.0, adding screen mirroring, audio mirroring and control through Bluetooth keyboard and mouse emulation. Version 4.1 brought the same to Windows and Linux, where control uses a Bluetooth keyboard or mouse with the Vysor Dongle.

### Does Vysor work in a browser without installing anything?

Yes. Version 3.0 rewrote the native and Chrome apps to install as a progressive web app, and the browser version requires a browser that supports WebUSB. It also added a WebAssembly video decoder as an alternative to the NaCL and PNaCL decoders, which the changelog says may resolve black screen issues.

### Can I embed Vysor in my own web page?

The changelog says Vysor can be embedded into other websites via an iframe, with the URL format app.vysor.io followed by a device path containing the serial number. The stated uses are presentations and testing tools.

## Sources

- [Issues](https://github.com/koush/vysor.io/issues)
- [koush/vysor.io on GitHub](https://github.com/koush/vysor.io)
- [Project website](https://vysor.io)
- [README](https://github.com/koush/vysor.io/blob/master/README.md)
- [Releases](https://github.com/koush/vysor.io/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/koush-vysor-io
