{
  "slug": "dns-message-parser",
  "name": "gizza-ai/dns-message-parser",
  "version": "0.1.0",
  "title": "DNS Message Parser — decode a DNS query/response from hex or base64url — gizza.ai",
  "description": "Decode a DNS wire-format message from hex or base64url — header flags, RCODE, question and answer records, name decompression. Free, in your browser.",
  "tags": [
    "dns message parser",
    "decode dns packet",
    "dns wire format",
    "dns over https",
    "dns header flags",
    "rcode",
    "dns resource records",
    "name compression",
    "edns0",
    "dns hex decoder"
  ],
  "category": "network",
  "urls": {
    "page": "https://gizza.ai/tools/dns-message-parser/",
    "markdown": "https://gizza.ai/tools/dns-message-parser/index.md",
    "descriptor": "https://gizza.ai/tools/dns-message-parser/tool.json",
    "deep_link_example": "https://gizza.ai/tools/dns-message-parser/?message=1234%208180%200001%200001%200000%200000%20...%20%20or%20a%20base64url%20%3Fdns%3D%20value"
  },
  "cli": "gizza tool dns-message-parser \"1234 8180 0001 0001 0000 0000 ...  or a base64url ?dns= value\"",
  "tool": {
    "description": "Decode a DNS protocol message (RFC 1035 wire format) given as hex or base64url into the 12-byte header (id, QR, opcode, AA/TC/RD/RA/AD/CD flags, RCODE, counts), the question section, and the answer/authority/additional resource records — decompressing domain names and decoding A/AAAA/NS/CNAME/PTR/MX/TXT/SOA/SRV/CAA/OPT records. Returns JSON. Runs locally.",
    "parameters": {
      "additionalProperties": false,
      "properties": {
        "message": {
          "description": "The DNS message bytes as a hex string OR base64url (the format DNS-over-HTTPS uses in the GET ?dns= parameter), starting at the 12-byte header. For hex, spaces, colons, dashes, dots, commas, and a 0x prefix are ignored, e.g. a response begins '1234 8180 0001 0001 ...'.",
          "type": "string"
        }
      },
      "required": [
        "message"
      ],
      "type": "object"
    }
  }
}