ipconv
ipconv
IP address converter CLI — parse, convert, validate, and classify IPv4 and IPv6 addresses.
Features
- Input auto-detection: Dotted decimal, hex, decimal integer, binary dotted, octal dotted
- IPv6 support: Expanded, compressed, mixed (IPv4-mapped) notation
- 6 IPv4 output formats: dotted, hex, hex_dotted, integer, binary, octal
- 3 IPv6 output formats: expanded, compressed, mixed (IPv4-mapped)
- 4 serializers: plain (key:value), JSON, YAML, XML
- Classification: IP class (A–E), 13+ special-purpose ranges per version
- Auto-detection: Input format is auto-detected — no
--fromflag needed
Installation
# Build from source
crystal build src/main.cr -o ipconv --release
# Or via make
make
Usage
# Display all formats for an IPv4 address
ipconv 192.168.1.1
# Display a single format
ipconv -f hex 192.168.1.1
# Multiple formats
ipconv -f dotted,hex,integer 192.168.1.1
# JSON output
ipconv -o json 192.168.1.1
# YAML output
ipconv -o yaml 192.168.1.1
# XML output
ipconv -o xml 192.168.1.1
# Pretty-print JSON
ipconv -o json --pretty 192.168.1.1
# IPv6
ipconv 2001:db8::1
ipconv ::ffff:192.168.1.1
Options
| Flag | Description |
|---|---|
-f, --format |
Content format(s): dotted, hex, hex_dotted, integer, binary, octal, expanded, compressed, mixed, class, special |
-o, --output |
Output serialization: plain (default), json, yaml, xml |
--pretty |
Pretty-print JSON/XML |
-h, --help |
Show help |
-v, --version |
Show version |
Development
# Run tests
make test
# Or directly
crystal spec
# Build binary
make
# Lint
bin/ameba
bin/flaw scan src/
License
MIT — see LICENSE
Repository
ipconv
Owner
Statistic
- 0
- 0
- 0
- 0
- 2
- 1 day ago
- May 19, 2026
License
MIT License
Links
Synced at
Tue, 19 May 2026 08:10:33 GMT
Languages