# Universal Radio Hacker (URH)

> Demodulate and decode signals captured with software-defined radios, with automatic modulation-parameter detection and customizable decodings. Analysts assign protocol fields and message types by hand or review rule-based automatic field inference; a fuzzer targets stateless protocols and a simulator supports stateful exchanges.

- Type: Tool
- Targets: Protocol
- Category: Protocol analysis tools
- Relationship: Foundation tool
- Sources reviewed: 2026-10-17
- Added to the catalog: 2026-10-17
- Original resource: <https://github.com/jopohl/urh>
- Primary source: <https://github.com/jopohl/urh/blob/1403d92987cc3d01d41aff64250955ce455dabd2/README.md>
- Catalog page: <https://awesomerea.org/resources/universal-radio-hacker/>
- Record JSON: <https://awesomerea.org/resources/universal-radio-hacker/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/universal-radio-hacker/index.md)

## Requirements & limits

- GitHub marks the repository archived and read-only since 2026-03-29. The last release is v2.10.0, published 2025-12-17 with a Windows x64 installer and a macOS DMG; PyPI 2.10.0 requires Python >=3.9.
- Install options are the Windows installer, the macOS DMG (macOS 13+ recommended) or Homebrew, pipx on Linux (recommended, with precompiled native extensions), distribution packages and the Docker image. Source installs need Python 3.9+ and setuptools, and build C++ extensions.
- Recording and sending need a supported SDR with a native or external backend; several listed devices are receive-only. Non-root Linux access requires the documented udev rules, and native support from distribution packages needs the SDR -dev packages installed first.
- GPL-3.0. Automatic field inference gives the analyst a rule-based starting point. Fuzzing and simulation transmit through a TX-capable SDR.

## Primary sources

1. <https://github.com/jopohl/urh/blob/1403d92987cc3d01d41aff64250955ce455dabd2/README.md>
2. <https://github.com/jopohl/urh/blob/1403d92987cc3d01d41aff64250955ce455dabd2/setup.py>
3. <https://github.com/jopohl/urh/blob/1403d92987cc3d01d41aff64250955ce455dabd2/LICENSE>
4. <https://github.com/jopohl/urh/releases/tag/v2.10.0>
5. <https://pypi.org/project/urh/2.10.0/>
6. <https://github.com/jopohl/urh/wiki/Supported-devices/32fb197d4a7055f11f7f91fe9cb68450469c6cd4>
7. <https://github.com/jopohl/urh/wiki/SDR-udev-rules/9095b3c39026e8dde89a1a0ae79c023f446817f7>

## Related entries

Matched by the same code repository or publication identifier.

- [Automatic Wireless Protocol Reverse Engineering](https://awesomerea.org/papers/paper-wireless-protocol-re/index.md) · Research paper

## More in Protocols

- [SavvyCAN](https://awesomerea.org/resources/savvycan/index.md) · Tool
- [AALpy](https://awesomerea.org/resources/aalpy/index.md) · Tool
- [rtl_433](https://awesomerea.org/resources/rtl-433/index.md) · Tool
- [Blackbox Protobuf](https://awesomerea.org/resources/blackbox-protobuf/index.md) · Tool
- [furiousMAC Continuity](https://awesomerea.org/resources/furiousmac-continuity/index.md) · Tool
- [opendbc](https://awesomerea.org/resources/opendbc/index.md) · Tool

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
