A pure JavaScript library for parsing and reading raster data from TIFF and GeoTIFF files in both browser and Node.js environments.
geotiff.js is a pure JavaScript library for parsing TIFF and GeoTIFF files, providing access to metadata and raw raster data. It solves the problem of reading and analyzing geospatial imagery and scientific data directly in the browser or Node.js without native dependencies.
Developers working with geospatial data, remote sensing, scientific visualization, or any application requiring TIFF file parsing in JavaScript environments.
It offers a lightweight, dependency-free solution with broad format support, performance optimizations like worker pools, and the flexibility to handle custom data workflows, unlike heavier GIS libraries.
geotiff.js is a small library to parse TIFF files for visualization or analysis. It is written in pure JavaScript, and is usable in both the browser and node.js applications.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Works in both browsers and Node.js, reading from remote URLs, ArrayBuffers, Blobs, and local filesystems, enabling flexible deployment across environments.
Handles stripped, tiled, and interleaved images with compressions like LZW, Deflate, JPEG, and LERC, covering a wide range of TIFF and GeoTIFF variants.
Includes configurable tile caching, worker pools for parallel decoding, and deferred loading to efficiently manage large files and reduce memory usage.
Automatically extracts bounding boxes, origins, and resolutions from geospatial headers, essential for mapping and analysis workflows.
Due to JavaScript's lack of native 64-bit integer handling, BigTIFF files are approximated, potentially causing inaccuracies with very large datasets.
Version 3 introduced significant breaking changes, such as making methods like getTiePoints() async, requiring non-trivial migration efforts for existing codebases.
Focuses on low-level data access, forcing developers to implement custom solutions for common tasks like coordinate transforms or data analysis, increasing development time.
The writeArrayBuffer function is in beta and only supports uncompressed writing, limiting its use for generating optimized or production-ready GeoTIFF files.