versatiles
A Rust library and CLI for reading, writing, and converting map tiles.
Overview
VersaTiles provides both a command-line interface and a Rust library for working with map tile containers in various formats including MBTiles, PMTiles, VersaTiles, TAR, and directory structures.
As a CLI Tool
For CLI usage, installation instructions, command documentation, and production deployment guides, see the main VersaTiles README.
The CLI provides commands for:
convert: Convert between tile formatsprobe: Inspect tile containersserve: Run an HTTP tile serverdev: Development server with hot reload
As a Library
The versatiles crate can be used as a library to integrate tile processing into your Rust applications.
Installation
Add this to your Cargo.toml:
[]
= "2.3"
Example
use ;
async
Features
cli(default): Command-line interfaceserver(default): HTTP tile servergdal(optional): GDAL raster support for reading GeoTIFF and other raster formats
Component Crates
VersaTiles is built from several focused crates that can be used independently:
versatiles_core: Core types and utilities (coordinates, formats, traversal)versatiles_container: Tile container I/O (read, write, convert)versatiles_geometry: Geometric data structures (GeoJSON, MVT)versatiles_image: Image processing (PNG, JPEG, WEBP, AVIF)versatiles_pipeline: Tile processing pipelines (VPL language)versatiles_derive: Procedural macros (internal use)
Documentation
- Library API: docs.rs/versatiles
- CLI Documentation: GitHub README
- Full Documentation: docs.versatiles.org
Supported Formats
.versatiles- Native VersaTiles container format.mbtiles- MBTiles (SQLite-based).pmtiles- PMTiles (cloud-optimized).tar- TAR archives- Tile directories
License
MIT License - see LICENSE for details.