A modular geospatial engine written in JavaScript
Turf is a JavaScript library for spatial analysis. It includes traditional spatial operations, helper functions for creating GeoJSON data, and data classification and statistics tools. Turf can be added to your website as a client-side module, or you can run Turf server-side with Node.js (see below).
Read our getting started guide to begin working with Turf.
Or explore the Turf API and examples at turfjs.org.
Turf is currently published to work with any reasonably modern Javascript runtime.
Node is a first class citizen, and we recommend using an Active or Maintenance LTS release.
Other runtimes, such as Deno or Bun, are not officially supported. We would be very interested to hear your experiences though.
When bundling Turf for the browser, ensure your build setup transpiles and polyfills Turf along with all of its transitive dependencies to match your target browsers.
@turf/turf includes a browser bundle that combines, transpiles, and minifies all Turf modules into a single JavaScript file. We periodically update our minimum browser targets using Browserslist's default preset.
This project exists thanks to all the people who contribute. If you are interested in helping, check out the Contributing Guide.
Thank you to all our backers! 🙏 [Become a backer]
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]
