OpenAPI & YAML Tools
Convert between YAML and JSON, or render readable API documentation from OpenAPI specifications.
JSON Formatter / Minifier
Format, minify, and validate JSON data locally.
Output will appear here...
Regex Tester
Validate regular expressions and view matched groups in real-time.
Regex Examples
- Email:
\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\b - URL:
https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*) - Date (YYYY-MM-DD):
^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$
Flags Definition
- g (Global): Don't return after first match. Search for all matches.
- i (Insensitive): Case insensitive match.
- m (Multiline): ^ and $ match start/end of line, not just string.
Cryptographic Operations
Perform symmetric and asymmetric encryption and signatures locally in the browser.
Result will appear here...
Key & Keypair Generator
Generate secure symmetric keys or asymmetric public/private keypairs locally.
URL Encoder / Decoder
Safely encode or decode URL components locally.
Base64 Converter
Encode plain text or binary files to Base64, or decode them back.
Drag & drop file here or click to browse
Hash / Digest Generator
Calculate SHA-256, SHA-384, SHA-512, or SHA-1 hashes of your input locally.
JWT Decoder
Decode and parse JSON Web Tokens locally in the browser.
JWT Header JSON
JWT Payload JSON
IP CIDR Calculator & Subnet Planner
Calculate subnet details, host counts, wildcard masks, and view visual binary breakdowns of network partition spaces.
Binary Breakdown
The network bits are colored in green, and the host bits are colored in pink/orange.
How CIDR Subnet Calculation Works
- Binary Conversion: IP addresses consist of 32 bits divided into 4 groups of 8 (octets). For example,
192.168.1.1translates to11000000.10101000.00000001.00000001. - Subnet Masking (CIDR Prefix): The prefix length (e.g.
/24) represents the number of contiguous leading bits set to1in the subnet mask. A prefix of/24means 24 ones followed by 8 zeros:11111111.11111111.11111111.00000000(or255.255.255.0). - Calculating Network Address: Performed by executing a bitwise logical
ANDoperation between the IP address and the Subnet Mask. Only bits where both the IP and the mask are1remain set:Network Address = IP & Subnet Mask - Calculating Broadcast Address: Computed by combining the Network Address with the inverted (bitwise NOT) Subnet Mask using a bitwise logical
OR. This sets all host-portion bits to1:Broadcast Address = Network Address | ~Subnet Mask - Usable Hosts: Calculated as $2^{\text{host bits}} - 2$. We subtract 2 because the first IP address is reserved for the Network Address and the last IP address is reserved for the Broadcast Address.
Character Encodings & SMS Sub-Alphabet Translator
Encode text to byte representations or decode raw bytes back to text. Supports standard web and telecom-specific GSM 03.38 protocols.
Raw Binary Bitstream
GSM 03.38 Encodings & SMS Packing
- GSM 7-Bit Default Alphabet: Designed for SMS text message transfer. Standard characters map to 7-bit indexes (0-127). E.g.,
@is0x00, andAis0x41. - Escape Table Extension: Certain characters (like
€,[,],{,},\|,^,~) do not fit in the basic 7-bit table. They are prefixed with an escape byte0x1B(27), making them consume 14 bits (2 septets) instead of 7 bits. - Septet-to-Octet Packing (Compression): In SMS PDU payloads, to transmit maximum content under the 140-byte limit, 7-bit septets are packed tightly into 8-bit octets:
• The first character's 7 bits occupy bits 0-6 of the first byte.
• The second character's lowest 1 bit is placed in bit 7 of the first byte, and its remaining 6 bits go into bits 0-5 of the second byte, and so on.
• This compression packs exactly 8 characters into 7 bytes (a 12.5% reduction in size), enabling the standard 160-character limit inside 140 bytes of data! - GSM 8-Bit Data: Primarily used for binary payloads (like smart card updates, port-directed SMS, or WAP pushes). It treats characters as standard 8-bit bytes (usually matching ISO-8859-1).
BER-TLV Parser
Parse and analyze ASN.1 Basic Encoding Rules Tag-Length-Value (BER-TLV) hex data commonly used in smart cards, SIMs, and eSIM (eUICC) profiles.
Selected Node Analysis
BER-TLV Structure Reference
BER-TLV (Basic Encoding Rules - Tag-Length-Value) is a key format specified in ISO/IEC 7816-4 for smart cards and GSMA SGP.22 for eSIM. Each data element is encoded as follows:
- Tag Field: Identifies the data element class and type.
• Class (Bits 8-7 of first byte):00Universal,01Application,10Context-Specific (very common in eSIM),11Private.
• P/C Flag (Bit 6 of first byte):0Primitive (leaf node with data),1Constructed (contains nested TLV nodes).
• Tag Number (Bits 5-1 of first byte): If bits 5-1 are all1(value0x1F), the tag is multi-byte. Subsequent bytes specify the tag number, where Bit 8 of each subsequent byte acts as a continuation flag (1 = more bytes follow, 0 = final byte). - Length Field: Defines the size of the Value field.
• Short Form: One byte (Bit 8 is0). Value range:0to127(0x00to0x7F).
• Long Form: Multiple bytes. The first byte has Bit 8 set to1, and bits 7-1 specify the number of subsequent bytes carrying the actual length value (e.g.0x81 0x2Aindicates a length of 42). - Value Field: Contains the payload bytes. If the tag is Constructed, the value contains nested TLV objects recursively.