Developer Tools
W3C Baggage Header Parser
Parse, validate, and build the W3C baggage HTTP header. Decode percent-encoded values, see metadata, and check entry and size limits. No signup.
Quick samples
Header summary
Entries
3
Total bytes
50
Limit
8,192 B
Entries
3 entriesEntry 1
12 bytesKey
userId
Value
textalice
Entry 2
18 bytesKey
serverNode
Value
textdecodedDF 28
on wire: DF%2028
Entry 3
18 bytesKey
isProduction
Value
boolfalse
Decoded JSON
Keys with metadata become an object with the decoded value and a metadata list. Plain keys map straight to their decoded value.
{
"userId": "alice",
"serverNode": "DF 28",
"isProduction": "false"
}Baggage header reference
The shape of the header every W3C-compliant propagator reads and writes, summarized in one place.
Structure
- Comma-separated list of key=value entries.
- Optional metadata after a value using
;separators. - Whitespace around separators is optional and stripped.
Keys
- An RFC 7230 token: letters, digits, and a fixed punctuation set.
- No spaces, commas, semicolons, or equals signs.
- Often dotted, like
user.id.
Values
- Visible ASCII except " , ; and backslash.
- Everything else is percent-encoded over UTF-8.
- A space becomes
%20.
Limits
- At most 64 entries.
- Each entry at most 4096 bytes.
- The whole header at most 8192 bytes.
This is a parser, validator, and builder. It does not send your data anywhere: every entry you paste or type is processed in your browser.
How to use
- Choose Parse header, then paste a baggage header value or a full header line that starts with baggage:.
- Read the header summary for the entry count and total byte size, with a warning if either is over the W3C limit.
- Review each entry: the key, the decoded value, the value-type hint, any metadata properties, and per-entry validation notes.
- Copy the decoded JSON if you want a structured view of the keys and values.
- Switch to Build header to add entries by hand; values are percent-encoded automatically and you get a clean header plus curl, fetch, and OpenTelemetry snippets.
- Use Encode value to percent-encode or decode a single baggage value. Everything stays in your browser.
About this tool
W3C Baggage Header Parser is a browser-based tool for the baggage HTTP header defined by the W3C Baggage Recommendation. Baggage is the third header in the W3C distributed-context family: traceparent carries the trace and span identity, tracestate carries vendor-specific trace data, and the baggage header carries arbitrary application key/value pairs that ride along with a request as it crosses service boundaries. Every OpenTelemetry SDK exposes a Baggage API, and the OpenTelemetry propagators, language auto-instrumentation, service meshes, and many API gateways read and write this header, so an inherited baggage value often needs decoding before it makes sense. The grammar is small but precise. A header is a comma-separated list of members, each of the form key=value, and a member may carry one or more metadata properties after the value, separated by semicolons. Keys follow the RFC 7230 token rules: letters, digits, and a fixed set of punctuation, with no spaces, commas, semicolons, or equals signs, which is why keys are usually written in dotted form such as user.id or deployment.environment. Values are limited to visible ASCII excluding the double quote, comma, semicolon, and backslash; any other character, including spaces and non-ASCII text, has to be percent-encoded over UTF-8 on the wire, so a value like John Doe travels as John%20Doe. This tool follows those rules exactly. In Parse mode it accepts a raw header value, or a whole header line beginning with baggage:, and returns one row per entry with the decoded key and value, a value-type hint, any metadata properties, the on-wire byte size, and validation notes. It calls out missing equals signs, invalid token keys, characters that should have been percent-encoded, malformed percent-escapes, duplicate keys that a receiver may silently drop, and entries or headers that exceed the Recommendation limits of 64 members, 4096 bytes per member, and 8192 bytes overall. It can also export the decoded result as JSON. In Build mode you add entries by hand using plain values; the tool percent-encodes each value for you, attaches any metadata you supply, enforces the same limits, and produces a spec-clean header plus ready-to-paste curl, fetch, and OpenTelemetry snippets. A third mode percent-encodes or decodes a single value using the exact baggage-octet rules. Everything runs locally: the header you paste, the values you type, and the snippets you copy never leave the tab.
Free to use. Works in your browser. No signup, no login.
Related tools
You may also like
W3C Trace Context Parser
Decode traceparent and tracestate headers and build new ones with random IDs.
Open tool
DeveloperHTTP Headers Parser
Parse, classify, and decode HTTP headers, with a missing security headers audit.
Open tool
DeveloperHTTP Message Parser
Parse a raw HTTP request or response into method, URL, query, headers, and a decoded body.
Open tool
DeveloperPrometheus Metrics Parser
Read /metrics exposition text into metric families with labels and values, export JSON or NDJSON, or build a valid metric line.
Open tool
DeveloperLogQL Query Parser
Parse a Grafana Loki LogQL query into its stream selector, label matchers, line filters, parser stages, and metric aggregations, each explained in plain language.
Open tool
DeveloperCookie Parser
Decode Set-Cookie or Cookie headers with attributes, expiry, and safety warnings.
Open tool