Turfjs/turf

A modular geospatial engine written in JavaScript and TypeScript

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 38 minutes ago
Added to GitGenius on May 30th, 2026
Created on October 3rd, 2013
Open Issues & Pull Requests: 283 (+0)
Number of forks: 1,015
Total Stargazers: 10,455 (+0)
Total Subscribers: 176 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 45.5 hours
Mean response time: 120.2 days
90th percentile: 280.3 days
Tracked items: 353

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 88% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled "new-module" is answered fastest, typically in about 5 hours, while "@turf/buffer" waits about 12 days. Only 3% of issues opened in the past year have been closed. Three people close 83% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 132
New in 7 days: 0
Closed in 7 days: 1
Avg open age: 1,012 days
Stale 30+ days: 130
Stale 90+ days: 122

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 1
Events in 7 days: 1

Top labels

  • bug (25)
  • docs (18)
  • enhancement (17)
  • new-module (15)
  • @turf/buffer (13)
  • @turf/union (11)
  • @turf/nearest-point-on-line (10)
  • @turf/intersect (9)

Detailed Description

Turf is a modular geospatial engine written in JavaScript and TypeScript that provides spatial analysis capabilities for web and server-side applications. The library includes traditional spatial operations, helper functions for creating GeoJSON data, and tools for data classification and statistics. It can be deployed as a client-side module in browsers or run server-side using Node.js, making it versatile for different deployment scenarios.

The library supports a broad range of modern JavaScript runtimes, with Node.js as a first-class citizen where Active or Maintenance LTS releases are recommended. For browser deployment, Turf uses Babel transpilation to support any browser matching the Browserslist criteria of greater than 0.25% market share, the last two versions, full ES5 support, and not marked as dead. While Deno and Bun are not officially supported, the project welcomes feedback from users of alternative runtimes.

Turf's functionality spans multiple geospatial domains including distance calculation, polygon manipulation, coordinate transformation, feature extraction, and general map data processing. The library is built around GeoJSON as its primary data format, enabling seamless integration with other geospatial tools and workflows. The modular architecture allows developers to use only the specific spatial analysis functions they need rather than loading the entire library.

Turf's codebase overlaps with several major open-source projects including Microsoft's VSCode and TypeScript repositories as well as the Rust language repository, indicating shared contributors and cross-pollination of ideas within the geospatial and programming language communities. The project is supported through Open Collective with both backers and sponsors contributing to its sustainability. Documentation is comprehensive, with a dedicated getting started guide and full API reference available at turfjs.org, alongside interactive examples demonstrating the library's capabilities for spatial analysis workflows.