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.

Checking saved schemas…
Create a schema

01Source

0 bytes

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.

.proto
—

03Compare 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
Saved layout

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
Saved layout

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.