ipconv

IP address converter CLI. Parse, convert, validate, and classify IPv4 and IPv6 addresses.

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 --from flag 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