Byte Formatter is your go-to PHP library for converting bytes into human-readable strings and vice versa. Built with modern PHP 8 features, it’s fast, reliable, and developer-friendly—making your life just that little bit easier when handling data sizes.
Report a Bug · New Pull Request
If you like this project, give it a ⭐ and share it with your network!
- 🧠 Smart Formatting: Converts bytes to formats like
10 KiB
or10 KB
. - 🔄 Two-Way Conversion: Parse size strings like
1.5 MB
into bytes. - 🎛️ Customizable Precision: Fine-tune decimal places in formatted outputs.
- ⚙️ Binary & Decimal Prefixes: Switch between 1024 (binary) and 1000 (decimal) systems.
- 💪 Error Resilient: Robust validation and descriptive error handling.
- 📦 Lightweight & Dependency-Free: No external dependencies—just clean, reliable PHP.
You can install the ByteFormatter
library using Composer. Run the following command in your terminal:
composer require ramazancetinkaya/byte-formatter
Alternatively, download the source code and include it in your project manually.
- PHP 8.0 or higher.
- No additional dependencies.
require 'vendor/autoload.php';
use ramazancetinkaya\ByteFormatter;
$formatter = new ByteFormatter(true, 2); // Binary prefixes, 2 decimal places
echo $formatter->formatBytes(10240); // Output: "10 KiB"
require 'vendor/autoload.php';
use ramazancetinkaya\ByteFormatter;
$formatter = new ByteFormatter();
$bytes = $formatter->parseSize("1.5 MiB");
echo $bytes; // Output: 1572864
require 'vendor/autoload.php';
use ramazancetinkaya\ByteFormatter;
$formatter = new ByteFormatter();
echo $formatter->convert(10240, false); // Output: "10 KB" (Decimal prefix)
Option | Description | Default |
---|---|---|
useBinaryPrefix |
Use binary prefixes (1024-based) or decimal (1000) | true |
precision |
Number of decimal places for formatted output | 2 |
Method | Description |
---|---|
formatBytes() |
Formats a byte size into a human-readable string. |
parseSize() |
Parses a human-readable size string into bytes. |
convert() |
Converts a size between binary and decimal prefix systems or to a specific unit. |
src/
├── ByteFormatter.php
composer.json
README.md
This library is designed with security in mind. Input validation and error handling are implemented to prevent misuse. For vulnerabilities, please open an issue.
Contributions are welcome! Please feel free to submit a pull request or open an issue for any enhancements or bug fixes.
This project is licensed under the MIT License. See the LICENSE file for more details.