# Decodificador de frames WebSocket (RFC 6455)

Cole frames WebSocket em hexadecimal ou base64 e decodifique byte a byte o cabeçalho RFC 6455: FIN, RSV, opcode (texto/binário/fechamento/ping/pong), bit MASK, comprimento estendido de 7/16/64 bits, chave de mascaramento e o payload após desmascaramento XOR. Suporta vários frames consecutivos, semântica dos códigos de fechamento, avisos de violação de protocolo e um mapa de campos colorido com offsets de bytes.

> Página canônica: https://elysiatools.com/pt/tools/websocket-frame-decoder

- **Categoria:** Development

- **Palavras-chave:** websocket, rfc6455, decodificador de frames, opcode, chave de mascaramento, dump hexadecimal, código de fechamento

## Visão geral

Formato do frame (RFC 6455 §5.2): byte 1 = FIN(0x80) + RSV1-3(0x40/0x20/0x10) + opcode(0x0F); byte 2 = MASK(0x80) + comprimento de 7 bits (126 → uint16 BE nos 2 bytes seguintes, 127 → uint64 BE em 8 bytes); se MASK=1 seguem 4 bytes de chave; o payload é desmascarado com XOR mask[i mod 4]. Frames de controle (opcode ≥ 8) exigem FIN=1 e payload ≤ 125 bytes; o cliente deve sempre mascarar (§5.1). No frame close, os 2 primeiros bytes do payload são o código de status (1000 normal, 1001 going away, 1002 erro de protocolo, 1007 UTF-8 inválido, 1009 grande demais…).

## Entradas

- **Dados de frame WebSocket (hex ou base64)** (textarea): 81 85 37 fa 21 3d 7f 9f 4d 51 58 (hex dump or base64, multiple frames allowed)
- **Codificação de entrada** (select)
- **Máx. de bytes de payload exibidos** (number)

## Quando usar

- Quando você tem um dump hexadecimal ou base64 de frames WebSocket e precisa ler FIN, RSV, opcode, MASK e comprimento.
- Para conferir a chave de mascaramento, o payload após XOR e opcodes de controle (ping, pong e fechamento).
- Ao inspecionar códigos de fechamento, frames com comprimento estendido ou possíveis violações da RFC 6455.

## Como funciona

- Cole um ou mais frames no campo de dados, em dump hexadecimal ou base64.
- Escolha a codificação de entrada (detecção automática, hex ou base64) e, se quiser, o máximo de bytes de payload a exibir (16 a 4096).
- O decoder lê o primeiro byte (FIN, RSV e opcode), o segundo (MASK e comprimento de 7 bits), os bytes de comprimento estendido e a chave de 4 bytes quando MASK=1.
- O payload é desmascarado com XOR mask\[i mod 4\]; frames seguintes são decodificados em sequência, com semântica de close e avisos no mapa de offsets.

## Casos de uso

- Ler dumps de frames de texto mascarados e conferir o payload após XOR.
- Inspecionar ping, pong e fechamento com código de status e motivo.
- Analisar frames binários com comprimento estendido de 16 bits (valor 126).

## Perguntas frequentes

### Quais formatos de entrada são aceitos?

Dump hexadecimal ou base64. A detecção automática é o padrão; você também pode forçar hex ou base64.

### Como o payload mascarado é recuperado?

Se MASK=1, cada byte do payload é combinado por XOR com a chave de 4 bytes (mask[i mod 4]), conforme a RFC 6455.

### Posso colar vários frames no mesmo dump?

Sim. Frames consecutivos são separados e decodificados um após o outro.

### O que aparece em um frame de fechamento?

Os dois primeiros bytes do payload são o código de status (por exemplo 1000) e o restante, se houver, é o motivo.

### Há limite no payload exibido?

Sim. O campo “Máx. de bytes de payload exibidos” controla o recorte (padrão 256, entre 16 e 4096).

## Ferramentas relacionadas

- [Codificador/Decodificador Base64](https://elysiatools.com/pt/tools/base64-encoder): Codifica e decodifica strings Base64
- [Codificador/Decodificador Base64URL](https://elysiatools.com/pt/tools/base64url-encoder): Codifica e decodifica Base64URL (variante URL-safe do Base64 usada por JWT/JWS/JWE), com conversão entre Base64 padrão e URL-safe
- [Decodificador de assertion WebAuthn Passkey e depurador de challenge](https://elysiatools.com/pt/tools/webauthn-passkey-assertion-decoder-challenge-debugger): Decodifica clientDataJSON, authenticatorData, flags, rpIdHash e signCount; verifica ES256, RS256 ou Ed25519 quando uma chave pública é fornecida.
- [Decodificador de trace distribuido e waterfall](https://elysiatools.com/pt/tools/distributed-trace-decoder-waterfall-visualizer): Analisa JSON de Jaeger, Zipkin ou OpenTelemetry e mostra spans, duracao e erros em waterfall
- [Decodificador NTP RFC 5905 / SNTP — segundo intercalar e época](https://elysiatools.com/pt/tools/ntp-rfc-5905-sntp-leap-second-epoch-decoder): Decodifica um pacote NTP/SNTP de 48 bytes: campos de bits do byte 0, stratum/poll/precision, root delay/dispersion, reference ID, quatro timestamps de 64 bits (época 1900)
- [Decodificador de campos de bits Snowflake / Discord](https://elysiatools.com/pt/tools/snowflake-discord-id-bit-decoder): Analisa IDs Snowflake de 64 bits sem perda, extrai timestamp, worker, process, sequence e estima o shard do Discord.
- [Decodificador de IDs lexicográficos ULID / NanoID / KSUID / Snowflake](https://elysiatools.com/pt/tools/ulid-nanoid-ksuid-snowflake-id-decoder): Decodifica ULID (base32 Crockford), KSUID (base62), NanoID, MongoDB ObjectId e snowflakes Discord/Twitter/Sonyflake: decompõe timestamp, bits aleatórios e de máquina, mostra a hora ISO e o hex bruto, e estima a probabilidade de colisão pelo paradoxo do aniversário.
- [Conversor Base64](https://elysiatools.com/pt/tools/base64-converter): Codifica e decodifica dados para/de formato Base64 com opções URL-safe

## Exemplos

- [Exemplos WebSocket](https://elysiatools.com/pt/samples/websocket): Exemplos de comunicação em tempo real usando o protocolo WebSocket incluindo chat, notificações e streaming de dados
- [Exemplos de Processamento de Imagem Android Java](https://elysiatools.com/pt/samples/android-image-processing-java): Exemplos de processamento de imagem Android Java incluindo leitura/escrita, dimensionamento e conversão de formato
- [Exemplos de Processamento de Imagem Android Kotlin](https://elysiatools.com/pt/samples/android-image-processing-kotlin): Exemplos de processamento de imagem Android Kotlin incluindo leitura/escrita, dimensionamento e conversão de formato
- [Exemplos de Processamento de Imagem Web Python](https://elysiatools.com/pt/samples/web-image-processing-python): Exemplos de processamento de imagem Web Python usando PIL/Pillow incluindo leitura, salvamento, redimensionamento e conversão de formato

## Conteúdo relacionado

- [Ferramentas para Analisar Texto Semiestruturado e Extrair Tabelas](https://elysiatools.com/pt/hubs/semi-structured-text-table-extraction): Transforme texto de largura fixa, registros com delimitadores mistos, logs e tabelas HTML ou Markdown em saídas limpas de CSV, JSON, XML ou Excel.
