Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time


Patreon donate button Github donate button Discourse Forums Discord Twitter Version Downloads License

A Rust implementation of the Buttplug Intimate Hardware Control Protocol, including a client and server. This is the core implementation of Buttplug.

This repo is a monorepo with multiple projects, including:

  • buttplug - Rust implementation of the Buttplug protocol spec
  • buttplug-schema - JSON schema for the Buttplug protocol spec
  • buttplug-device-config - Device configuration file for buttplug (where we store all of the device identifiers)
  • buttplug_derive - Procedural macros used by the buttplug rust library.

For information about compiling and using these libraries, please check the README files in their directories.

For a list of applications using Buttplug, see the awesome-buttplug repo.

Other Language Implementations

See the awesome-buttplug repo for a full list of implementations.