I/O service for Web.

The most common use of the I/O service is to read/write a Document with a given path. Methods are also available for converting in-memory representations of raw glTF files, both binary (ArrayBuffer) and JSON (JSONDocument).


import { WebIO } from '@gltf-transform/core';

const io = new WebIO({credentials: 'include'});

// Read.
const doc = await io.read('model.glb');  // → Document
const doc = io.readBinary(ArrayBuffer);  // → Document

// Write.
const arrayBuffer = io.writeBinary(doc); // → ArrayBuffer



  • new WebIO(_fetchConfig?: RequestInit): WebIO
  • Constructs a new WebIO service. Instances are reusable.


  • readBinary(glb: ArrayBuffer): Document
  • registerDependencies(dependencies: {}): this
  • Registers dependencies used (e.g. by extensions) in the I/O process.

  • registerExtensions(extensions: typeof Extension[]): this
  • Registers extensions, enabling I/O class to read and write glTF assets requiring them.

  • setLogger(logger: Logger): this
  • writeBinary(doc: Document): ArrayBuffer
Function symbol, f(📦) → 📦, where the argument and output are a box labeled 'glTF'.

Made by Don McCurdy TypeDoc documentation Copyright 2020 under MIT license