ut
A fast, lightweight CLI utility toolkit for developers and IT professionals. ut provides a comprehensive set of commonly-used tools in a single binary, eliminating the need to install and remember multiple utilities or search for random websites to perform simple tasks.
Installation
cargo install --git https://github.com/ksdme/ut.git
Usage
ut < TOOL > [OPTIONS]
Run ut --help to see all available tools, or ut --help for specific tool documentation.
Available Tools
├── Encoding │ ├── base64 - Base64 encode/decode │ │ ├── encode │ │ └── decode │ └── url - URL encode/decode │ ├── encode │ └── decode ├── Hashing │ └── hash - Cryptographic hash digests │ ├── md5 │ ├── sha1 │ ├── sha224 │ ├── sha256 │ ├── sha384 │ └── sha512 ├── Data Generation │ ├── uuid - Generate UUIDs │ │ ├── v1 │ │ ├── v3 │ │ ├── v4 │ │ ├── v5 │ │ └── v7 │ ├── token - Generate secure random tokens │ ├── lorem - Generate lorem ipsum text │ └── random - Generate random numbers ├── Text Processing │ ├── case - Convert text case formats │ │ ├── lower │ │ ├── upper │ │ ├── camel │ │ ├── title │ │ ├── constant │ │ ├── header │ │ ├── sentence │ │ └── snake │ ├── pretty-print - Unescape newlines and tabs │ └── diff - Compare text with visual output ├── Development Tools │ ├── calc - Expression calculator │ ├── json - JSON builder and utilities │ │ └── builder │ ├── regex - Interactive regex tester │ └── datetime - Parse and convert datetimes ├── Web & Network │ ├── http - HTTP utilities │ │ └── status │ ├── serve - Local HTTP file server │ └── qr - Generate QR codes ├── Color & Design │ └── color - Color utilities │ └── convert └── Reference └── unicode - Unicode symbol reference
Encoding
base64
Encode and decode data using Base64 encoding.
Supports both standard and URL-safe character sets
Can read from files or stdin
ut base64 encode " hello world " ut base64 decode " aGVsbG8gd29ybGQ= " ut base64 encode --urlsafe " hello world "
url
URL encode and decode text.
ut url encode " hello world " ut url decode " hello%20world "
Hashing
hash
Generate cryptographic hash digests using various algorithms.
Supports MD5, SHA-1, SHA-224, SHA-256, SHA-384, and SHA-512
Can read from files or stdin
ut hash sha256 " hello world " ut hash md5 - < file.txt
Data Generation
uuid
Generate UUIDs in various versions.
v1: Timestamp-based
v3: Namespace + MD5 hash
v4: Random
v5: Namespace + SHA-1 hash
v7: Timestamp-based, sortable
ut uuid v4 ut uuid v4 --count 5 ut uuid v5 --namespace DNS --name example.com ut uuid v7 ut uuid v7 --count 5
token
Generate cryptographically secure random tokens.
Customizable length and character sets
Uses OS-level secure randomness
ut token --length 32 ut token --no-symbols --length 64
lorem
Generate lorem ipsum placeholder text.
Customizable paragraph count and sentence structure
ut lorem --paragraphs 5 ut lorem --min-sentences 2 --max-sentences 6
random
Generate random numbers within a specified range.
Supports decimal precision with step parameter
Can generate multiple values at once
ut random --min 1 --max 100 ut random --min 0 --max 1 --step 0.01 --count 10
Text Processing
case
Convert text between different case formats.
lowercase, UPPERCASE, camelCase, snake_case, Title Case, CONSTANT_CASE, Header-Case, Sentence case
ut case lower " Hello World " ut case camel " hello_world " ut case snake " HelloWorld "
Resolve escaped newlines and tab characters in text.
ut pretty-print " hello
world\ttab "
diff
Compare text contents with visual diff output.
Supports file comparison or interactive editing
Color-coded character-level differences
ut diff -a file1.txt -b file2.txt ut diff # Opens editor for both inputs
Development Tools
calc
Expression calculator with support for multiple number formats and mathematical functions.
Supports arithmetic operations, exponentiation, functions (sin, cos, tan, log, exp, sqrt, abs, floor, ceil, round)
Binary (0b), hexadecimal (0x), and decimal number formats
Mathematical constants (pi, e)
Results displayed in decimal, hex, and binary
ut calc " 2 + 2 * 3 " ut calc " sin(pi / 2) " ut calc " 0xFF + 0b1010 " ut calc " sqrt(16) ^ 2 "
json
JSON utilities including a powerful JSON builder.
Build complex JSON structures using dot notation
Supports nested objects and arrays
Array indexing and append operations
ut json builder a.b.c=hello a.b.d=world ut json builder " user.name=John " " user.age=30 " " user.tags[]=dev " " user.tags[]=rust " ut json builder " items[0].id=1 " " items[0].name=first " " items[1].id=2 "
regex
Interactive regex tester with live highlighting.
Real-time pattern matching visualization
Multi-color highlighting for capture groups
Load test strings from files
ut regex ut regex --test sample.txt
datetime
Parse and convert datetimes between timezones.
Support for ISO 8601 and custom format strings
Convert between timezones
"now" keyword for current time
ut datetime now ut datetime " 2025-10-04T15:30:00Z " --target-timezone " Asia/Tokyo " ut datetime " October 04, 2025 03:30 PM " --source-timezone UTC --parse-format " MonthName Day2, Year4 Hour12:Minute2 AMPM "
Web & Network
http
HTTP utilities including status code lookup.
ut http status 404 ut http status # List all status codes
serve
Start a local HTTP file server.
Customizable host and port
Directory listing support
Optional HTTP Basic authentication
ut serve --port 8080 ut serve --directory ./public --auth username:password
qr
Generate QR codes.
Terminal display or save to PNG file
ut qr " https://example.com " ut qr " Hello World " --output qrcode.png
Color & Design
color
Color utilities for working with different color formats.
Supports hex, rgb, rgba, hsl, hwb, lab, lch, oklab, oklch
Parses any CSS-compatible color format
ut color convert " #FF5733 " ut color convert " rgb(255, 87, 51) " ut color convert " hsl(9, 100%, 60%) "
Reference
unicode
Display Unicode symbol reference table.
ut unicode
Features
Fast : Built in Rust for optimal performance
: Built in Rust for optimal performance Standalone : Single binary with no runtime dependencies
: Single binary with no runtime dependencies Composable : Tools work with stdin/stdout for easy piping
: Tools work with stdin/stdout for easy piping Secure : Uses cryptographically secure random number generators where appropriate
: Uses cryptographically secure random number generators where appropriate Cross-platform: Works on Linux, macOS, and Windows
Development
# Run the project cargo run -- < tool > [args] # Format code cargo fmt # Run tests cargo test
Built with Claude Code
Parts of this project were built using Claude Code, an AI-powered coding assistant, with human oversight and collaboration.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.