Skip to main content




Writer for the Well-known binary format for representation of geometry.

File Extension.wkb,
File TypeBinary
File FormatWell Known Binary
Data FormatGeometry
Supported APIsencode, encodeSync
Encoder TypeSynchronous
Worker Thread SupportYes


npm install
npm install


import {WKBWriter} from '';
import {encodeSync} from '';

const geometry = {
type: "Polygon",
coordinates: [[[1, 2], [3, 4], [5, 6], [1, 2]]]
const arrayBuffer = encodeSync(geometry, WKBWriter, {wkt: {hasZ: false, hasM: false}})


  • hasZ: Should be true if the GeoJSON input has Z values. These values are expected to be the third coordinate position.
  • hasM: Should be true if the GeoJSON input has M values. Thes are expected to be the third coordinate position if Z values do not exist, or fourth if Z values do exist.

Format Summary

Well-known binary (WKB) is a binary geometry encoding to store geometries (it doesn't store attributes). It's used in databases such as PostGIS and as the internal storage format of Shapefiles. It's also being discussed as the internal storage format for a "GeoArrow" specification. WKB is defined starting on page 62 of the OGC Simple Features specification.

It's essentially a binary representation of WKT. For common geospatial types including (Multi) Point, Line, and Polygon, there's a 1:1 correspondence between WKT/WKB and GeoJSON. WKT and WKB also support extended geometry types, such as Curve, Surface, and TIN, which don't have a correspondence to GeoJSON.

  • Coordinates can be 2-4 dimensions and are interleaved.
  • Positions stored as double precision