Skip to content

OpenSyntaxHQ/tweak

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

77 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

tweak banner

tweak

Website | Install | Usage | Commands | Contributing

CI License Go Version Release Platform

tweak is a fast, cross-platform CLI and interactive TUI for text processing. Encode, hash, transform, generate, and validate β€” 118 built-in operations, zero dependencies at runtime.

# Interactive TUI
tweak

# Direct input
tweak md5 "Hello World"
tweak base64-encode "secret"
tweak json-yaml file.json

# Pipe from anything
echo "Hello World" | tweak md5
cat file.txt | tweak base64-encode
curl https://api.example.com/data | tweak json

# Chain operations
tweak md5 "hello" | tweak base64-encode

# Write to file
tweak yaml-json config.yaml > config.json

Installation

Homebrew (macOS / Linux)

brew install OpenSyntaxHQ/tweak/tweak

Go

go install github.com/OpenSyntaxHQ/tweak@latest

Quick Install (curl)

curl -sfL https://raw.githubusercontent.com/OpenSyntaxHQ/tweak/main/install.sh | sh

Binaries

macOS (Universal β€” arm64 + amd64)

tweak_Darwin_all.tar.gz

Linux

Architecture Download
amd64 tweak_Linux_x86_64.tar.gz
arm64 tweak_Linux_arm64.tar.gz
i386 tweak_Linux_i386.tar.gz

Windows

Architecture Download
amd64 tweak_Windows_x86_64.zip
arm64 tweak_Windows_arm64.zip
i386 tweak_Windows_i386.zip

FreeBSD

Architecture Download
amd64 tweak_Freebsd_x86_64.tar.gz
arm64 tweak_Freebsd_arm64.tar.gz

Linux Packages

# Debian / Ubuntu
dpkg -i tweak_*.deb

# RHEL / Fedora / CentOS
rpm -i tweak_*.rpm

# Arch Linux
pacman -U tweak_*.pkg.tar.zst

Usage

# Launch interactive TUI
tweak

# Get help on any command
tweak --help
tweak md5 --help

# Use with a file
tweak base64-encode image.jpg
tweak md5 file.txt

# Pipe from another command
curl https://jsonplaceholder.typicode.com/users | tweak json
cat file.yaml | tweak yaml-json

# Chain processors
echo "Hello World" | tweak base64-encode | tweak md5

# Write output to file
tweak yaml-json input.yaml > output.json

Commands

πŸ” Encoding & Decoding

Command Description
base32-encode / base32-decode Base32 encode / decode
base58-encode / base58-decode Base58 encode / decode
base62-encode / base62-decode Base62 encode / decode
base64-encode / base64-decode Base64 encode / decode
base64url-encode / base64url-decode Base64 URL-safe encode / decode
ascii85-encode / ascii85-decode Ascii85 encode / decode
crockford-encode / crockford-decode Crockford Base32 encode / decode
hex-encode / hex-decode Hexadecimal encode / decode
binary-encode / binary-decode Binary encode / decode
html-encode / html-decode HTML escape / unescape
url-encode / url-decode URL encode / decode

#️⃣ Hashing & Checksums

Command Description
md5 MD5 checksum
sha1 SHA-1 checksum
sha224 SHA-224 checksum
sha256 SHA-256 checksum
sha384 SHA-384 checksum
sha512 SHA-512 checksum
bcrypt bcrypt hash
adler32 Adler-32 checksum
crc32 CRC-32 checksum
xxh32 / xxh64 / xxh128 xxHash checksums
blake2b / blake2s BLAKE2 checksums

πŸ”‘ Cryptography & Security

Command Description
hmac-sha256 / hmac-sha512 HMAC-SHA256 / HMAC-SHA512
aes-encrypt / aes-decrypt AES-256-GCM encrypt / decrypt
argon2 Argon2id password hash
jwt-encode / jwt-decode JWT encode / decode
password-gen Secure password generator
totp TOTP code generator (RFC 6238)
checksum-verify Verify file checksums

πŸ”‘ String Operations

Command Description
lower / upper / title Change case
snake / kebab / camel / pascal / slug Convert case format
reverse Reverse text
trim Trim whitespace
repeat Repeat text N times
wrap Wrap text at width
replace Find and replace
escape-quotes Escape single and double quotes
rot13 ROT13 encode
char-freq Character frequency analysis
word-freq Word frequency analysis

πŸ“‹ Line Operations

Command Description
sort-lines Sort lines alphabetically
reverse-lines Reverse line order
shuffle-lines Shuffle lines randomly
unique-lines Remove duplicate lines
count-lines Count lines
number-lines Prepend line numbers

πŸ“Š JSON & Data Formats

Command Description
json Format / pretty-print JSON
json-minify Minify JSON
json-escape / json-unescape JSON escape / unescape
json-yaml / yaml-json Convert between JSON and YAML
json-toml / toml-json Convert between JSON and TOML
json-xml / xml-json Convert between JSON and XML
json-csv / csv-json Convert between JSON and CSV
json-msgpack / msgpack-json Convert between JSON and MessagePack
jsonl-json Convert JSONL/NDJSON to JSON array

βš™οΈ Generators

Command Description
uuid UUID v4 generator
ulid ULID generator
nanoid NanoID generator
lorem Lorem ipsum generator
now Current timestamp
epoch Unix timestamp ↔ human date
password-gen Secure password generator
totp TOTP code (RFC 6238)

🎨 Developer Utilities

Command Description
rgb-hex RGB β†’ hex color
hsl-hex HSL β†’ hex color
hex-rgb Hex β†’ RGB color
base-convert Arbitrary base conversion
zeropad Pad number with zeros
qrcode Generate QR code in terminal
morse-encode / morse-decode Morse code encode / decode
caesar-encode / caesar-decode Caesar cipher
markdown-html Markdown β†’ HTML

πŸ” Text Processing

Command Description
grep Filter lines by regex
column Extract a field by position
pad-left / pad-right Pad string to width
regex-match Extract regex matches
regex-replace Replace by regex
remove-spaces Remove all spaces
remove-newlines Remove all newlines
count-words / count-chars Word / character count

βœ… Validation & Detection

Command Description
validate-json Validate JSON
validate-email Validate email address
validate-url Validate URL
detect Auto-detect and decode encoding
extract-emails Extract all emails from text
extract-urls Extract all URLs from text
extract-ips Extract all IP addresses from text

validate-* commands return a non-zero exit code when input is invalid, so they are safe for shell scripting and CI checks.


Contributing

Contributions are welcome! See CONTRIBUTING.md for guidelines.

License

Apache 2.0 β€” see LICENSE.

Packages

 
 
 

Contributors

Languages