Validate & Transcode CloudEvents 1.0 Envelopes

Paste an event, get a per-attribute pass/fail report against the CNCF CloudEvents 1.0 core specification, then transcode it between structured content mode (one JSON body) and binary HTTP content mode (ce-* headers plus a raw data body) — in both directions, entirely in your browser.

Input

A structured CloudEvent is a single JSON object where context attributes and data live at the top level.

Validation report

Required & optional context attributes checked against CloudEvents 1.0 type & naming rules.

Waiting for input…

    How the validator and transcoder work

    The CloudEvents 1.0 specification defines an event as a set of context attributes plus an optional data payload. This tool encodes the formal rules rather than a loose schema check. Every context attribute name must match the regex ^[a-z0-9]+$ — lowercase ASCII letters and digits only, no dots, dashes, or underscores. Four attributes are REQUIRED and must be non-empty strings: id, source, specversion (which must equal 1.0), and type. The source attribute must be a non-empty URI-reference, and id must be unique per source.

    Optional attributes are type-checked when present: time must be a valid RFC 3339 timestamp, datacontenttype a well-formed RFC 2046 media type, and dataschema an absolute URI. The subject attribute is a free string. Any additional top-level key that satisfies the naming rule is treated as an extension attribute and must be a string, boolean, integer, binary, or URI — nested objects and arrays are rejected, because the spec forbids complex extension values.

    Transcoding follows the HTTP Protocol Binding. In structured mode the whole event is one JSON document. In binary mode each context attribute becomes an HTTP header prefixed with ce- (so typece-type), the datacontenttype attribute maps to the standard Content-Type header, and data becomes the raw message body. The converter reverses this mapping loss-lessly: the algorithm strips the ce- prefix from headers to rebuild the JSON envelope, and re-prefixes attributes to emit headers. Everything runs client-side with zero network calls, so private event payloads never leave your machine.

    Related Tools

    Event Schema Validator — check arbitrary JSON events against a custom schema Webhook Payload Inspector — decode and pretty-print incoming webhook bodies RFC 3339 Timestamp Converter — parse and format event time values