The geo: URI encoder turns latitude, longitude and an optional altitude into a valid RFC 5870 geo: URI — the standard, app-neutral way to point at a physical location. Many mobile platforms open a map when a geo: link is tapped, so it doubles as a share link or QR-code map pin.
How it works
RFC 5870 defines the syntax geo:lat,lon[,alt][;crs=...][;u=...]. Latitude (-90 to 90) comes first, then longitude (-180 to 180), both in decimal degrees on the WGS-84 coordinate reference system that is the default. An optional third comma-separated value is the altitude in metres. The u parameter records positional uncertainty as a radius in metres.
The encoder validates that the two angles are real numbers in range, then assembles the components. Because numeric coordinates and standard parameters need no escaping, the output is the plain geo: string. Altitude and u are appended only when supplied.
Example
Lat 48.2010, Lon 16.3695, alt 183, u 25
-> geo:48.201,16.3695,183;u=25
A coordinate at the equator and prime meridian is simply geo:0,0.
Notes
Remember the order is latitude-then-longitude, which is the reverse of some web map query strings — getting it backwards drops the pin in the wrong hemisphere. WGS-84 is assumed, so you rarely need a crs parameter. The output fits directly in an <a href="geo:..."> link. Everything runs locally; your coordinates are never uploaded.