THE CONVERSION WORKSPACE
Serialize with a saved schema.
Encode source data with a saved schema and inspect its binary envelope.
Use a saved schema
Full binary size includes the outer category and inner subtype. The payload schema and field numbers are preserved.
01Source
10 examples · press again to cycle
Includes a matching schema from the Examples bank. Example data stays in memory.02Generated output
Your serialized envelope appears here
Add source data, choose a compatible saved type, then select Serialize.
.proto03Compare the result
Actual encoding. Actual byte counts.
Convert a document to compare its values and encoded size.
Saved schemas
Default schemas
NIEMCategory: field 1
NIEM 6.0 · NIEM_PROTO/2Category: NIEM · Subtype: field 1View schema
Complete NIEM 6.0 typedv2 package. Original definitions and field numbers are preserved. Serialization and XML validation run in this browser.
View example XML · Original Protobuf definitions · Download full package
STIX 2.1Category: field 2
STIX 2.1 · 0.1.0Category: STIX 2.1 · Subtype: field 1View schema
STIX 2.1 package. Original definitions and field numbers are preserved. JSON numbers are reconstructed without JavaScript precision loss.
View example JSON · Original Protobuf definitions · Download full package
NIEM 6.0 and STIX 2.1 typed packages are available by default. Custom schemas stay in this browser.
Examples6
Bundled schemas for the interactive examples. Available without changing your personal library.
ExampleProject · version 1Category: Examples · Subtype: field 1View schema
syntax = "proto3";
// Generated from representative data. Keep the schema stable after deployment.
// Numbers use IEEE-754 double unless a schema explicitly declares integer.
// Empty messages preserve explicit nulls; array wrappers preserve presence.
message ExampleProject_site {
optional string name = 1;
optional double latitude = 2;
optional double longitude = 3;
}
message ExampleProject_observationsItem {
optional string sampleId = 1;
optional string observedAt = 2;
optional double quantity = 3;
optional string unit = 4;
optional string quality = 5;
}
message ExampleProject_observationsList {
repeated ExampleProject_observationsItem items = 1;
}
message ExampleProject_tagsList {
repeated string items = 1;
}
message ExampleProject {
optional string projectId = 1;
optional string name = 2;
optional string theme = 3;
ExampleProject_site site = 4;
ExampleProject_observationsList observations = 5;
ExampleProject_tagsList tags = 6;
optional bool active = 7;
}
ExampleXmlProject · version 1Category: Examples · Subtype: field 2View schema
syntax = "proto3";
// Generated from representative data. Keep the schema stable after deployment.
// Numbers use IEEE-754 double unless a schema explicitly declares integer.
// Empty messages preserve explicit nulls; array wrappers preserve presence.
message ExampleXmlProject_project_site {
optional string name = 1;
optional string latitude = 2;
optional string longitude = 3;
}
message ExampleXmlProject_project_observations_observationItem {
optional string observedAt = 1;
optional string quantity = 2;
optional string unit = 3;
optional string quality = 4;
optional string _id = 5;
}
message ExampleXmlProject_project_observations_observationList {
repeated ExampleXmlProject_project_observations_observationItem items = 1;
}
message ExampleXmlProject_project_observations {
ExampleXmlProject_project_observations_observationList observation = 1;
optional string _text = 2;
}
message ExampleXmlProject_project_tags_tagList {
repeated string items = 1;
}
message ExampleXmlProject_project_tags {
ExampleXmlProject_project_tags_tagList tag = 1;
}
message ExampleXmlProject_project {
optional string name = 1;
optional string theme = 2;
ExampleXmlProject_project_site site = 3;
ExampleXmlProject_project_observations observations = 4;
ExampleXmlProject_project_tags tags = 5;
optional string active = 6;
optional string _text = 7;
optional string _xmlns = 8;
optional string _id = 9;
}
message ExampleXmlProject {
ExampleXmlProject_project project = 1;
}
ExampleYamlProject · version 1Category: Examples · Subtype: field 3View schema
syntax = "proto3";
// Generated from representative data. Keep the schema stable after deployment.
// Numbers use IEEE-754 double unless a schema explicitly declares integer.
// Empty messages preserve explicit nulls; array wrappers preserve presence.
message ExampleYamlProject_site {
optional string name = 1;
optional double latitude = 2;
optional double longitude = 3;
}
message ExampleYamlProject_observationsItem {
optional string sampleId = 1;
optional string observedAt = 2;
optional double quantity = 3;
optional string unit = 4;
optional string quality = 5;
}
message ExampleYamlProject_observationsList {
repeated ExampleYamlProject_observationsItem items = 1;
}
message ExampleYamlProject_tagsList {
repeated string items = 1;
}
message ExampleYamlProject {
optional string projectId = 1;
optional string name = 2;
optional string theme = 3;
ExampleYamlProject_site site = 4;
ExampleYamlProject_observationsList observations = 5;
ExampleYamlProject_tagsList tags = 6;
optional bool active = 7;
}
ExampleObservations · version 1Category: Examples · Subtype: field 4View schema
syntax = "proto3";
// Generated from representative data. Keep the schema stable after deployment.
// Numbers use IEEE-754 double unless a schema explicitly declares integer.
// Empty messages preserve explicit nulls; array wrappers preserve presence.
message ExampleObservationsItem_site {
optional string name = 1;
optional double latitude = 2;
optional double longitude = 3;
}
message ExampleObservationsItem_tagsList {
repeated string items = 1;
}
message ExampleObservationsItem {
optional string projectId = 1;
optional string project = 2;
optional string theme = 3;
ExampleObservationsItem_site site = 4;
optional string sampleId = 5;
optional string observedAt = 6;
optional double quantity = 7;
optional string unit = 8;
optional string quality = 9;
ExampleObservationsItem_tagsList tags = 10;
}
message ExampleObservationsList {
repeated ExampleObservationsItem items = 1;
}
message ExampleObservations {
ExampleObservationsList value = 1;
}
ExampleKeyValue · version 1Category: Examples · Subtype: field 5View schema
Separator: "=" · Comments: #
syntax = "proto3";
// Generated from representative data. Keep the schema stable after deployment.
// Numbers use IEEE-754 double unless a schema explicitly declares integer.
// Empty messages preserve explicit nulls; array wrappers preserve presence.
message ExampleKeyValue {
optional string project_id = 1;
optional string name = 2;
optional string theme = 3;
optional string site = 4;
optional string latitude = 5;
optional string longitude = 6;
optional string first_sample = 7;
optional string first_value = 8;
optional string second_sample = 9;
optional string second_value = 10;
optional string unit = 11;
optional string status = 12;
}
ExampleRdbObservations · version 1Category: Examples · Subtype: field 6View schema
Columns (7): project_id, site, sample_id, observed_at, quantity, unit, quality · RDB: 8s, 32s, 16s, 24s, 16n, 16s, 12s
syntax = "proto3";
// Generated from representative data. Keep the schema stable after deployment.
// Numbers use IEEE-754 double unless a schema explicitly declares integer.
// Empty messages preserve explicit nulls; array wrappers preserve presence.
message ExampleRdbObservationsItem {
optional string project_id = 1;
optional string site = 2;
optional string sample_id = 3;
optional string observed_at = 4;
optional string quantity = 5;
optional string unit = 6;
optional string quality = 7;
}
message ExampleRdbObservationsList {
repeated ExampleRdbObservationsItem items = 1;
}
message ExampleRdbObservations {
ExampleRdbObservationsList value = 1;
}
Custom schemas0This browser only
Generate your first schema to save a reusable type here.
Saved on this site in this browser. Clearing browser data removes the library.