
Product
Socket for Jira Is Now Available
Socket for Jira lets teams turn alerts into Jira tickets with manual creation, automated ticketing rules, and two-way sync.
formatcoords
Advanced tools
format decimal lat/lon coords into degrees/minutes/seconds formats (like DMS).

A simple and flexible tool to format decimal lat/lon coordinates into degrees/minutes/seconds formats (like DMS), using a moment.js-like API.
For geo hipsters that think that 48° 54′ 16.016″ S 71° 0′ 56.250″ W looks way more awesome than -48.9044488,-71.015625.
npm install formatcoords
var formatcoords = require('formatcoords');
formatcoords(40.76,-73.984).format();
//40° 45′ 36.000″ N 73° 59′ 2.400″ W
The formatcoords(coord1[, coord2, lonlat]) method accepts decimal lat/lon coordinates in several formats :
formatcoords([lat, lon]): an array of floats.formatcoords([lon, lat], true): an array of floats. First longitude, then latitude. Useful for use with GeoJSON, for example.formatcoords(lat, lon) : floats.formatcoords(lon, lat, true) : floats. First longitude, then latitude. Useful for use with GeoJSON, for example.formatcoords('latlon') : latlon is a string in "lat,lon" format.formatcoords({lat: lat, lng: lon} an object with lat and lng properties (Leaflet LatLng object)var coords = formatcoords(27.725499,-18.024301);
coords.format(format, {options})
Default output format is DMS (degrees minutes seconds), with a space to separate lat and lon, and 5 decimal places :
coords.format()
//27° 43′ 31.796″ N 18° 1′ 27.484″ W
Available short formats:
| Token | Output | |
|---|---|---|
| degrees minutes seconds (DMS) | FFf | 27° 43′ 31.796″ N 18° 1′ 27.484″ W |
| degrees decimal minutes | Ff | 27° 43.529933333333′ N -18° 1.4580666666667′ W |
| decimal degrees | f | 27.725499° N 18.024301° W |
Custom formats:
The following values are available for both latitudes and longitudes:
| Token | Output | |
|---|---|---|
| degrees | D | 27 |
| degrees with unit | DD | 27° |
| decimal degrees | d | 27.725499 |
| decimal degrees with unit | dd | 27.725499° |
| minutes | M | 7 |
| minutes with unit | MM | 7′ |
| decimal minutes | m | 7.63346 |
| decimal minutes with unit | mm | 7.63346′ |
| decimal seconds | s | 31.796 |
| decimal seconds with unit | ss | 31.796″ |
| direction | X | [N,S], [E,W] |
| minus sign (west of Greenwich and south of equator) | - | [-] |
Custom format example
coord.format('-D M s');
//-35 16 55.20000 149 7 43.26240
| Option Name | Description | Default & type |
|---|---|---|
| latLonSeparator | The separator to use between the lat and lon values | ' ' string |
| decimalPlaces | The number of decimal places to return | 5 number |
Custom format example with additional options
coord.format('DD MM ss X', {latLonSeparator: ', ', decimalPlaces: 0);
//35° 43′ 49″ S, 86° 1′ 55″ E
IE <= 8 not supported.
Use parse-dms.
FAQs
format decimal lat/lon coords into degrees/minutes/seconds formats (like DMS).
The npm package formatcoords receives a total of 8,992 weekly downloads. As such, formatcoords popularity was classified as popular.
We found that formatcoords demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Socket for Jira lets teams turn alerts into Jira tickets with manual creation, automated ticketing rules, and two-way sync.

Company News
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.

Security News
NIST will stop enriching most CVEs under a new risk-based model, narrowing the NVD's scope as vulnerability submissions continue to surge.