Data format

BSON converter

A .bson file holds BSON: the binary document format MongoDB stores and transmits. It looks like JSON with types added — every field is length-prefixed and carries a type byte — which makes documents skippable during a scan and gives them an ObjectId, a real date type, and 32- and 64-bit integers distinct from doubles.

Private for supported formats — processed in your browser

Convert supported files

Runs on your device

Drop BSON files here

Batch files can each use a different output. Nothing uploads for local conversions.

Working inputs include camera RAW, browser-local audio/video, PDF, CBZ/CBR comics, office documents, ebooks, markup, 3D models, structured text, images, and archives.

Where BSON comes from

BSON was created with MongoDB in 2009 to solve two problems JSON caused a database: numbers were all doubles, and finding the tenth field meant parsing the first nine. Length prefixes made traversal cheap and the type byte made storage exact. The specification was published separately at bsonspec.org and is now used outside MongoDB, though MongoDB remains the reason nearly every .bson file exists — usually as mongodump output.

How BSON works

  • A document is a little-endian int32 total length, a sequence of typed elements, and a terminating null byte.
  • ObjectId is 12 bytes: a 4-byte timestamp, a 5-byte random per-process value and a 3-byte counter, which is why ids sort roughly by creation time.
  • Dates are 64-bit milliseconds since the Unix epoch, so they are exact rather than string-parsed.
  • int32, int64, double and decimal128 are separate types, so a large integer does not lose precision as it would in JSON.
  • Documents are capped at 16 MB in MongoDB, which is a database limit rather than a format one, but it shapes how BSON files are produced.

When to use BSON

  • Inspecting a mongodump export without restoring it to a database
  • Moving a collection into a spreadsheet or CSV for analysis
  • Verifying which fields and types a document collection actually contains
  • Extracting an application's stored documents into portable JSON

Strengths and limitations

Strengths

  • Exact numeric types and native dates, unlike JSON
  • Length prefixes make skipping and partial reads cheap
  • The dominant on-disk form for the most widely deployed document database

Limitations

  • Often larger than the equivalent JSON, because of length prefixes and field names repeated per document
  • ObjectId, Decimal128 and Binary have no JSON equivalent and need a convention
  • Effectively tied to the MongoDB ecosystem in practice

Compatibility

Official MongoDB drivers for every major language decode BSON, and standalone libraries exist for Python, Java, Go, Rust and JavaScript. Novus Convert decodes .bson in the browser and writes JSON, CSV, XLSX, YAML or YML, handling non-JSON types explicitly: ObjectId and Decimal128 become their canonical string forms and Binary is reported rather than mangled into text.

Type information is preserved through the conversion summary; JSON, CSV and spreadsheet targets record BSON-specific types as their documented string representations.