Grid bearing from true
Convert a true bearing to a grid bearing by removing the meridian convergence; a true 45° with 1.25° of convergence gives a grid 43.75°, and the reverse back to true is shown to confirm it. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- True bearing
- 45
- Convergence
- 1.25
- Grid bearing
- 43.75
- Reverse true bearing
- 45
- Precision
- 6
This grid bearing from true bearing calculator converts a geographic true azimuth into a projected map-grid bearing by applying the signed meridian convergence angle for the coordinate system you are using, and returns the reverse conversion from grid back to true so you can verify the arithmetic in one step. Surveyors, GIS technicians, cadastre teams, and navigation instructors constantly move between true north along a meridian and grid north on a Transverse Mercator, UTM, State Plane, or national grid sheet. Meridian convergence is the signed angular offset between those two north references at a place on the projection, and the classic identities are grid equals true minus convergence and true equals grid plus convergence, with bearings wrapped into the half-open interval from zero to three hundred sixty degrees. The engine is fully deterministic finite arithmetic: no projection library call, no network lookup of a geodetic model, no random sampling, and no date-dependent shortcuts.
True north, grid north and what you get back
A true bearing is the clockwise angle from true geographic north—the direction of the local meridian toward the North Pole—to a course, traverse leg, or line of sight. It is the reference used on great-circle plans, astronomical azimuths, and many GIS layers stored in geographic coordinates. A grid bearing is the same kind of clockwise angle measured from grid north, the direction of the constant-easting (or constant-northing) grid lines printed on a projected map or stored in a projected CRS such as UTM, a national grid, or State Plane.
Meridian convergence—often written gamma or C on map collars—is the signed angle between true north and grid north at a location on that projection. This calculator takes a finite true bearing and a finite convergence, normalizes the true angle into the half-open range from zero inclusive to three hundred sixty exclusive, subtracts the convergence to form the grid bearing, then adds the same convergence back to recover the reverse true bearing so both conversion directions appear in one response.
Where true–grid conversion fits in surveying, GIS, and software
Students meet meridian convergence when a geodesy lab asks them to plot a true azimuth onto a UTM or national-grid sheet, when a cadastral exam converts recorded true bearings into grid bearings for coordinate geometry, or when a topographic course teaches how map collar values relate to field sights. Land surveyors and GIS technicians convert control-traverse true azimuths into grid bearings before storing legs in projected coordinates, CAD parcel maps, or stakeout controllers.
Military and emergency mapping teams move between true and grid when orders, GPS, and paper grids disagree by the printed convergence. Developers call the same contract from scripts to seed deterministic test vectors for mapping widgets, to normalize user-entered true courses before display on a projected basemap, or to satisfy programming-challenge statements that demand grid degrees rather than a hand-waved sketch.
Product and education tools use the conversion when a learner types a true heading and a convergence and the UI must show both the grid course and the reverse true check.
What you can do with it
Plot true azimuths on a grid map
Convert a geodetic true bearing to a grid bearing using the sheet or CRS meridian convergence before drawing a traverse on UTM or national-grid layers.
Cadastral and COGO answer keys
Turn exam true bearings into grid bearings (and reverse) with a fixed convergence for reproducible classroom and licensing worksheets.
FAQ
What does the grid bearing from true calculator cost?
It is free in your browser on this page.
Does this tool compute convergence from my latitude and longitude?
No. You supply the meridian convergence for your projection and location. The calculator only applies the algebraic conversion.
What happens if the true bearing is not a finite number?
Infinity, NaN, empty values, and non-numeric tokens are not accepted.
How is this different from magnetic to true bearing?
Magnetic conversion uses magnetic declination between compass north and true north. This tool uses meridian convergence between true north and projected grid north.
Which sign should I give the convergence?
Use a positive value when grid north lies west of true north, and a negative one when it lies east. The grid bearing is the true bearing minus the convergence, so with 1.25 degrees a true 45 becomes a grid 43.75.
Related tools
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/geo/grid-bearing \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"true_bearing":45,"convergence":1.25}'const res = await fetch("https://api.kit.forhosting.com/geo/grid-bearing", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"true_bearing": 45,
"convergence": 1.25
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geo/grid-bearing",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"true_bearing": 45,
"convergence": 1.25
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geo/grid-bearing", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"true_bearing":45,"convergence":1.25}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"true_bearing":45,"convergence":1.25}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geo/grid-bearing", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"true_bearing": 45,
"convergence": 1.25
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.grid_bearing",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Limits
max_abs_deg | 1000000000000000 |
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
Technical notes
What true and grid bearings mean and what the response contains
The payload returns true_bearing, convergence, grid_bearing, reverse_true_bearing, a short formula string, the method tag grid_bearing, and the precision used. There is no silent projection solve and no invented map collar: the engine either finishes with stable floating-point angles inside the supported magnitude range or rejects the input with invalid_input. Rejected cases include missing true_bearing or convergence, non-finite values such as Infinity or NaN, non-numeric tokens, and magnitudes above the documented ceiling.
How true_bearing and convergence are read and how results stay reproducible
Optional leading plus signs and scientific notation on numeric strings are allowed when they parse as finite decimals; embedded spaces, hex prefixes, and non-numeric tokens are rejected with a clear message so a bad cell does not become a wrong traverse leg. Convergence keeps its signed value rather than wrapping into zero to three hundred sixty, because a few degrees of offset is the intended unit and wrapping it would flip the conversion. Bearings may arrive outside zero to three hundred sixty—for example four hundred five or negative ten—and are normalized with modular arithmetic into that interval before and after conversion. The preferred fields are true_bearing for the geographic angle in degrees and convergence for the signed meridian convergence in degrees, but aliases true, T, bearing, and true_azimuth for the true angle, and gamma, C, meridian_convergence, conv, and grid_convergence for the offset, are accepted so spreadsheets, query strings, and typed forms can reuse the same contract. An optional precision field, with aliases decimals and dp, chooses how many decimal places to expose for every angle field, defaulting to six and capped at fifteen so JSON goldens stay stable. Pair the free browser run on this page with the priced API when you need the identical mathematical result inside an automated pipeline without re-implementing projection collar arithmetic yourself.
Where true–grid conversion fits in surveying, GIS, and software
On this page the work runs entirely in your browser; through the API each successful lookup costs $0.002, failed validation is not charged, and nothing is stored after the response returns. That split — free interactive exploration and a priced, identical API — matches the rest of the KIT tier-A catalog and lets you move from a classroom demo to an automated pipeline without changing the mathematical result. Pair it with magnetic-to-true or rhumb-line tools when you need related geo steps, and with other parse endpoints when you are building a small lab of free, deterministic navigation helpers.
Integration use cases
Deterministic mapping fixtures
Generate reproducible grid_bearing and reverse_true_bearing values for unit tests, property checks, and CI assertions in GIS software.
Technical questions
How are grid and reverse true bearings defined?
grid_bearing = normalize(true_bearing − convergence) and reverse_true_bearing = normalize(grid_bearing + convergence). Bearings wrap into [0, 360).