QR contents
QR codes can contain coordinates, object names, notes, project parts or group information; group QR codes are therefore confidential.
QR data format
QR codes in ArxSilex MapTools are a versioned exchange format for compact app data. This page explains use, privacy and technical details.
Last updated: May 28, 2026
Summary
This section summarizes what QR codes contain, how they can be generated technically, and why import happens locally.
QR codes can contain coordinates, object names, notes, project parts or group information; group QR codes are therefore confidential.
Custom tools can generate QR codes if they follow versioning, size limits, encoding and validation rules.
The link is not an upload. The server does not process the payload; the app reads the data locally from the QR link.
URL structure
QR codes use a verified HTTPS app link. The data block is placed after the fragment sign.
https://www.arxsilex.de/app/maptools/qr#d=<base64url-json>
The part after # is normally not sent to the web server. The same link can therefore work as an app link and as a fallback to this explanation.
Privacy
QR codes can contain coordinates, object names, notes, project parts or group information.
QR data is processed locally. This website does not decode or store the payload.
Locations and project objects can be personal data. Share QR codes only with suitable recipients.
Group QR codes contain the group key. Anyone who scans the code can join the group or import group data.
Technical specification
Version 1 is currently documented. Newer versions can be rejected by older app versions.
| Item | Value | Notes |
|---|---|---|
| Current HTTPS app link | https://www.arxsilex.de/app/maptools/qr#d=<payload> | Path without trailing slash; this is how the Android app link is registered. |
| Documentation URL | https://www.arxsilex.de/app/maptools/qr/index.html | This web documentation is served as index.html in the QR folder. |
| Legacy scheme | asmaptools://qr?v=1&d=<payload> | Compatibility format for older or external scanners. |
| Payload encoding | Base64URL, UTF-8 JSON | URL-safe Base64 without padding; content is UTF-8 JSON. |
| Schema version | v: 1 | Versions below 1 are invalid; newer versions can be rejected. |
| Payload limit | 2,200 bytes | Conservative cap for reliable QR generation and decoding. |
| Incoming URI cap | 64 KiB | Hard upper bound for incoming deep links. |
| QR rendering | ZXing QR, error correction M, 512 px | The app renders 512 px QR bitmaps and may place a small app logo overlay. |
Schema
Object QR codes use short keys to keep the QR code small. The keys themselves remain technical identifiers.
| Key | Meaning | Fields |
|---|---|---|
| v | Schema version | integer |
| m | Markers | i, n, inf, la, lo, ic, cl |
| c | Circles | i, n, la, lo, r, cl, sc, fc |
| d | Distances | i, n, la, lo, ea, eo, cl |
| b | Bearings/directions | i, n, la, lo, bg, ln, iv, bc, cl |
| a | Areas | i, n, pts, cl, sc, fc |
| r | Routes | i, n, pts, cl |
Groups
Group QR codes use typed JSON payloads. The group key is confidential.
Contains name, group_id, group_key, origin, color, description and optional quick messages.
Wraps object data in an objects field.
Combines group profile and optional objects. The app can import the group, the objects or both.
Validation
The app checks QR data before import and rejects invalid geometry or oversized data.
Latitude -90 to 90, longitude -180 to 180. Exported coordinates are rounded to 5 decimals.
IDs must be greater than 0. Routes need at least 2, areas at least 3 distinct points.
Bearing 0 to 360 degrees, correction -180 to 180 degrees, length and interval at most 1,000 km.
JSON
Examples before Base64URL encoding. In the real QR link, encoded JSON is placed in #d=...
{
"v": 1,
"m": [
{"i":1,"n":"Start","la":48.13715,"lo":11.57612,"ic":"PIN"}
]
}{
"v": 1,
"type": "group",
"name": "Team Alpha",
"group_id": 123456,
"group_key": "shared-secret",
"originLat": 48.13715,
"originLon": 11.57612
}