---
title: "webadb - ADB over WebUSB resources."
description: "Use ADB over WebUSB!  This guide explores using the Android Debug Bridge (ADB) via WebUSB, detailing implementations like wadb and ya-webadb, and providing links to crucial ADB protocol documentation for seamless web-based Android device interaction.  Learn how to control your Android device from your browser.\n"
slug: "webadb-Adb-Over-Usb-Resources"
created: 2021-02-04T00:00:00Z
updated: 2021-02-04T00:00:00Z
tags:
  - "fugu"
  - "web-usb"
  - "pwa"
  - "android"
  - "webadb"
ai_assisted: false
---

Most Android Developers will be familiar with the [adb command-line tool][1]. It allows developers to connect their development computer to an Android device and run a variety of actions, like installing, starting or stopping an application, pushing and pulling files, taking screenshots, or recording the screen.

The introduction of [WebUSB][2] to the Web Platform opens the possibility of using ADB via a web page. This post contains some resources for developers looking for more information on using ADB over USB (or webadb).

## Implementations

- [wadb][4]: my own implementation of webadb, in TypeScript. Created as a demo / exploration of implementing ADB over WebUSB. Currently used by [screenrecord.bandarra.me][5]
- [webadb.js][3]: the oldest implementation of webadb that I'm aware of. The wadb implementation is largely based on this implementation.
- [ya-webadb][6]: a newer implementation, also in TypeScript. Powering [app.webadb.com][7]. Seems to also have a [WebSocket implementation of the transport layer][8], but is not enabled on the demo site.

## ADB Protocol Documentation

Besides reading the code and contributing to existing implementations, you may want to check other resources:

- [ADB Internals][10]: the official Android source repository. Contains both the C++ implementation of ADB as well as a set of text files describing various sections of the protocol:
  - [README.md][12]
  - [OVERVIEW.TXT][11]
  - [protocol.txt][13]
- [github.com/cstyan/adbDocumentation][9]: an unnoficial documentation of the protocol. May be easier to read than the official documents.

[1]: https://developer.android.com/studio/command-line/adb
[2]: https://web.dev/usb/
[3]: https://github.com/webadb/webadb.js
[4]: https://github.com/GoogleChromeLabs/wadb/
[5]: http://screenrecord.bandarra.me/
[6]: https://github.com/yume-chan/ya-webadb/
[7]: https://app.webadb.com/
[8]: https://github.com/yume-chan/ya-webadb/tree/master/packages/adb-backend-ws
[9]: https://github.com/cstyan/adbDocumentation
[10]: https://cs.android.com/android/platform/superproject/+/master:packages/modules/adb/
[11]: https://cs.android.com/android/platform/superproject/+/master:packages/modules/adb/OVERVIEW.TXT
[12]: https://cs.android.com/android/platform/superproject/+/master:packages/modules/adb/README.md
[13]: https://cs.android.com/android/platform/superproject/+/master:packages/modules/adb/protocol.txt