An open source Java library providing a standards compliant approach for visualization and processing of geospatial data and web services using data structures based on Open Geospatial Consortium (OGC) specifications.

GeoTools is popular Java library used by web services, cloud solutions, command line tools and desktop applications.

Core features

  • Definition of interfaces for key spatial concepts and data structures

    • Integrated Geometry support provided by Java Topology Suite (JTS)
    • Attribute and spatial filters using OGC Filter Encoding specification
  • A clean data access API supporting feature access, transaction support and locking between threads

    • Access GIS data in many file formats and spatial databases
    • Coordinate reference system and transformation support
    • Work with an extensive range of map projections
    • Filter and analyze data in terms of spatial and non-spatial attributes
  • A stateless, low memory renderer, particularly useful in server-side environments.

    • Compose and display maps with complex styling
    • Vendor extensions for fine control of text labels and color blending
  • Powerful schema assisted parsing technology using XML Schema to bind to GML content

    • The parsing / encoding technology is provided with bindings for many OGC standards including GML, Filter, KML, SLD, and SE.
  • GeoTools Plugins: open plug-in system allowing you to teach the library additional formats

    • Plug-ins for the ImageIO-EXT project allowing GeoTools to read additional raster formats from GDAL
  • GeoTools Extensions

    • rovide additional capabilities built using the spatial facilities of the core library.
    • Extensions provide graph and networking support (for finding the shortest path), validation, a web map server client, bindings for XML parsing and encoding and color brewer!
  • GeoTools Unsupported

    • GeoTools also operates as part of a wider community with a staging area used to foster new talent and promote experimentation.
    • Highlights include swing support (used in our tutorials!), swt, local and web process support, additional symbology, additional data formats, generation of grids and a couple of implementations of ISO Geometry.
  • Supported Formats

    • Raster formats and data access including arcsde, arcgrid, geotiff, grassraster, gtopo30, image (JPEG, TIFF, GIF, PNG), imageio-ext-gdal, imagemosaic, imagepyramid, JP2K, matlab
    • Database support for db2, h2, mysql, oracle, postgis, spatialite, sqlserver
    • Vector formats and data access including arcsde, csv, dxf, edigeo, excel, geojson, org, property, shapefile, a wfs client
    • Advanced vector formats including application schema support allowing mapping of information to a predefined data product.
    • XML Bindings for Java data structures and bindings provided for the following: xsd-core (xml simple types), fes, filter, gml2, gml3, kml, ows, sld, wcs, wfs, wms, wps, vpf. Additional Geometry, Filter and Style parser/encoders available for DOM and SAX applications.

Implemented Standards

  • Geographic JSON (GeoJSON)
  • Georeferenced Tagged Image File Format (GeoTIFF)
  • Geography Markup Language (GML)
  • Keyhole Markup Language (KML)
  • Styled Layer Descriptor (SLD)
  • Web Coverage Service (WCS)
  • Web Feature Service (WFS)
  • Web Feature Service - Transactional (WFS-T)
  • Web Map Service (WMS)
  • Web Map Tile Service (WMTS)
  • Web Processing Service (WPS)

GeoTools News

View all press releases

GeoTools is a project of the Open Source Geospatial Foundation located at This project is not associated with or

Service Providers

Core contributors

View all service providers