Wire is a protocol buffer and gRPC code generator that produces idiomatic code for Android, Kotlin, Swift, and Java.
Wire solves the problem of generating type-safe serialization and RPC code from protocol buffer definitions across multiple platforms. Rather than relying on the official protoc compiler, Wire implements its own code generation that produces smaller, more idiomatic output tailored to each target language. The tool generates code that integrates naturally with each platform's conventions and standard libraries, reducing boilerplate and avoiding unnecessary dependencies.
Wire suits teams building cross-platform applications or services that need to share data models across Android, Kotlin, Swift, and Java codebases. It is particularly valuable for projects where code size matters, such as Android applications, since the generated code is notably smaller than alternatives. The tool works well for teams already invested in the Square ecosystem or those prioritizing generated code that reads like hand-written, idiomatic code rather than generic output. Wire is appropriate for projects using gRPC for service communication or those that need efficient protocol buffer serialization without pulling in heavy runtime libraries.
The project maintains steady development activity with regular commits addressing bug fixes, feature additions, and maintenance across its multiple language targets. The codebase shows consistent attention to keeping generated code lean and performant. Development includes ongoing work to support evolving protocol buffer and gRPC specifications. The project demonstrates engagement with user-reported issues and maintains documentation through its homepage and README. Updates reflect a commitment to supporting all four target languages equally rather than favoring any single platform.