[](https://maplibre.org/martin/)
[](https://maplibre.org/martin)
[](https://docs.rs/martin)
[](https://slack.openstreetmap.us/)
[](https://github.com/maplibre/martin)
[](https://crates.io/crates/martin)
[](https://github.com/maplibre/martin/security)
[](https://github.com/maplibre/martin/actions)
[](https://app.codecov.io/gh/maplibre/martin)
[](https://www.bestpractices.dev/projects/11613)
Martin is a tile server and a set of tools able to generate vector tiles on the fly
from large `PostgreSQL` databases, and serve tiles from `PMTiles` and `MBTiles` files.
Martin optimizes for speed and heavy traffic, and is written in [Rust](https://github.com/rust-lang/rust).
## Features
* Serve [vector tiles](https://github.com/mapbox/vector-tile-spec) from
* [PostGIS](https://github.com/postgis/postgis) databases, automatically discovering compatible tables and functions
* [PMTile](https://protomaps.com/blog/pmtiles-v3-whats-new), both local files and over HTTP
* [MBTile](https://github.com/mapbox/mbtiles-spec) files
* [GeoJSON](https://maplibre.org/martin/sources-geojson/) files, converted to vector tiles on the fly
* [Passthrough](https://maplibre.org/martin/sources-passthrough/) tiles from an upstream HTTP tile server
* [Combine](https://maplibre.org/martin/sources-composite/) multiple tile sources into one
* Serve [styles](https://maplibre.org/martin/sources-styles/) and generate [sprites](https://maplibre.org/martin/sources-sprites/) or [font glyphs](https://maplibre.org/martin/sources-fonts/) on the fly
* Generate tiles in bulk from any Martin-supported sources into an `MBTiles` file with [martin-cp](https://maplibre.org/martin/martin-cp/) tool
* Examine, copy, validate, compare, and apply diffs between `MBTiles` files with [mbtiles](https://maplibre.org/martin/tools/#mbtiles) tool
## Documentation
* [Quick Start](https://maplibre.org/martin/quick-start/)
* [Installation](https://maplibre.org/martin/installation/)
* Running with [CLI](https://maplibre.org/martin/run-with-cli/)
or [configuration file](https://maplibre.org/martin/config-file/)
* [Usage and API](https://maplibre.org/martin/using/)
## Getting Involved
Join the `#maplibre-martin` slack channel at OSMUS -- automatic invite is at
## Contributing
Like any open source project, Martin welcomes contributions from anyone who wants to help improve it.
* See [Development Guide](https://maplibre.org/martin/development/) for setup
* Use `just help` for common commands
* Check [help wanted](https://github.com/maplibre/martin/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22) issues
## License
Licensed under either of
* Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) or )
* MIT license ([LICENSE-MIT](LICENSE-MIT) or )
at your option.
### Contribution
Unless you explicitly state otherwise, any contribution intentionally
submitted for inclusion in the work by you, as defined in the
Apache-2.0 license, shall be dual licensed as above, without any
additional terms or conditions.