To enhance my hiking experiences, I set out to create a custom interactive map that would:
- Display crucial points of interest (POIs) such as trail turns, campsites, and water sources.
- Include both major and secondary trails
- Provide real-time GPS-based location tracking.
- Be accessible offline on a mobile device.
- Be hostable online for easy sharing and embedding in websites or digital notes.
After exploring various tools, I settled on QGIS for its powerful features, open-source nature, and no-cost usage. Plus, its extensive plugin ecosystem continuously enhances its capabilities.
1. Base Map Selection
A good base map minimizes the need for excessive data overlays. For hiking, contour lines are essential.
- OpenStreetMap (OSM): QGIS defaults to OSM, which contains many small hiking trails. However, these trails are often visible only at high zoom levels, making OSM less ideal for a general hiking overview. It also lacks contour lines.
- Maptiler’s Outdoor Base Map: This map provided the perfect balance of detail and styling for hiking purposes. Despite the challenges in customizing its vector-based styling within QGIS, the default style worked well enough for my needs.
| OSM | Maptiler Outdoor |
|---|---|
![]() | ![]() |
2. Overlaying Information
Gathering and integrating relevant data:
- Personal Data: Waypoints and notes from previous trips.
- Into the Backcountry: Exported GeoJSON data from this valuable resource.
- Official Maps: Free hiking trail maps from state forests, parks, and national forests.
3. Geo-referencing PDF Maps
To incorporate GPS data into QGIS or viewing in Android Avenza app:
-
QGIS Georeferencer: Align the PDF with real-world coordinates on the base map using common points.

-
Usage: The geo-referenced PDF can serve as a transparent overlay or be used to transcribe data onto new, editable QGIS layers.
4. Exporting to MBtiles
Exporting the final map as an MBtiles file for offline and online use:
- Zoom Level: Maximum zoom level significantly impacts file size. Zoom level 16 offered a good balance for hiking purposes.
- Raster vs. Vector: Raster MBtiles preserves styles and visual integrity, making it the preferred choice despite potentially larger file sizes.
5. Hosting the Map Online
To share the map and embed it into websites or notes:
- Self-Hosting: Impractical due to bandwidth and processing power concerns. Tried a few solutions like mbtileserver, seems not well maintained.
- Maptiler Platform: Upload the MBtiles file to Maptiler for efficient web serving. This approach offers convenience and performance benefits for small projects.
Quick Start Guide (for Future reference)
- Base Map: Load Maptiler’s Outdoor Base Map in QGIS.
- Data Overlays: Import personal data, GeoJSON files, and geo-reference official PDF maps.
- Export: Generate MBtiles with a maximum zoom level of 16.
- Hosting: Upload MBtiles to Maptiler for online sharing and embedding.
Conclusion
Creating a custom hiking map with QGIS was a valuable learning experience, resulting in a practical tool tailored to my specific needs. This guide serves as a quick reference for future map-making endeavors.

