# base32

> encode/decode data and print to standard output

**Wikidata**: [Q124720023](https://www.wikidata.org/wiki/Q124720023)  
**Source**: https://4ort.xyz/entity/base32

## Summary  
base32 is a command-line utility used to encode and decode binary data using the Base32 encoding scheme, printing results to standard output. It is part of the GNU Core Utilities suite and is classified as free software. The tool was created by Simon Josefsson.

## Key Facts  
- Creator: Simon Josefsson, a Swedish computer scientist  
- Part of: GNU Core Utilities (coreutils)  
- License: GPL-3.0-or-later (Wikidata ID: Q27016754)  
- Implementation of: Base32 encoding standard  
- Operating system: Unix-like systems (e.g., Linux distributions such as Debian)  
- Manual page: `base32.1`  
- Instance of: Free software, computer program  
- Copyright holder: Free Software Foundation (Wikidata ID: Q48413)  
- Different from: “Base32” (the general encoding method), which it implements  

## FAQs  
### Q: What is base32 used for?  
A: base32 is used to encode binary data into a text format using only 32 different characters, making it safe for transmission over media that are not 8-bit clean. It can also decode such encoded data back to its original form.

### Q: Is base32 part of GNU/Linux?  
A: Yes, base32 is included in GNU Core Utilities, which is a standard component of most GNU/Linux distributions.

### Q: Who developed the base32 command-line tool?  
A: The base32 utility was developed by Simon Josefsson, a Swedish computer scientist, and is maintained as part of the GNU project.

## Why It Matters  
The base32 utility plays a critical role in data encoding workflows, especially when compatibility with systems that cannot reliably handle raw binary data is required. As part of the GNU Core Utilities, it provides a standardized, open-source implementation of the Base32 encoding algorithm, ensuring broad interoperability across Unix-like environments. Its availability under a free software license allows users to inspect, modify, and redistribute the code, supporting transparency and community-driven development. In practical use, base32 helps ensure data integrity during transfer or storage by converting arbitrary binary input into a constrained character set that avoids issues with control characters or byte misinterpretation.

## Notable For  
- Being part of the widely used GNU Core Utilities package  
- Providing both encoding and decoding functionality within a single CLI interface  
- Supporting the standardized Base32 encoding method defined in RFC 4648  
- Being licensed as free software, enabling unrestricted usage and modification  
- Having clear documentation via official man pages and GNU-hosted resources  

## Body  

### Overview  
base32 is a command-line program designed to perform Base32 encoding and decoding operations on input data streams. It reads from standard input or files and outputs the result to standard output. This makes it suitable for scripting and integration into larger pipelines involving data transformation.

### Technical Details  
- **Encoding Scheme**: Implements Base32 as specified in RFC 4648  
- **Input Handling**: Accepts either file paths or piped input  
- **Output Behavior**: Prints encoded or decoded output directly to stdout  
- **Options Supported**:
  - `-d`, `--decode`: Decode data instead of encoding
  - `-i`, `--ignore-garbage`: Ignore non-alphabet characters during decoding
  - `--help`: Display help information
  - `--version`: Show version information

### Development & Licensing  
- **Developer**: Simon Josefsson  
- **Maintainer**: Maintained under the umbrella of the GNU Project  
- **License**: Licensed under the GNU General Public License version 3 or later (GPLv3+)  
- **Source Documentation**: Official manual available at [GNU Coreutils base32 page](https://www.gnu.org/software/coreutils/base32)

### Integration & Usage Context  
As part of GNU Core Utilities, base32 ships by default or is easily installable on many Linux-based systems including Debian, Ubuntu, Fedora, and others. It integrates seamlessly with shell scripts and supports automation tasks requiring reliable binary-to-text conversion without dependencies beyond coreutils.

### Related Entities  
- **Implementation Of**: Base32 (RFC 4648)  
- **Part Of**: GNU Core Utilities  
- **Similar Tools**: `base64` (for Base64 encoding), `uuencode/uudecode` (older UU encoding utilities)  
- **Different From**: Generic term "Base32", which refers to the abstract encoding method rather than this specific implementation

## References

1. [Source](https://manpages.debian.org/bookworm/coreutils/base32.1.en.html)