Convert Degrees Minutes Seconds to Decimal Degrees Without Losing the Sign

You enter a negative angle as -12 degrees, 15 minutes and 30 seconds. A quick calculation adds the minute and second fractions to -12 and moves the answer toward zero.

But the intended negative sign applies to the whole magnitude, not only the degree field.

To convert degrees minutes seconds to decimal degrees reliably, keep the fields and sign convention explicit. This original inspector uses a separate sign selector and nonnegative magnitude fields, then preserves source metadata beside the result.

DMS to decimal degrees
DMS to decimal degrees
Open the full example ↗

Turn minutes and seconds into degree fractions

The USGS GNIS explanation converts seconds and minutes using successive division by 60 and notes that rounding can change the converted value. We use that arithmetic only; the synthetic angles here are not GNIS locations. USGS explanation of DMS and decimal degrees

With degree magnitude D, minutes M, seconds S and sign +1 or -1:

Magnitude in degrees = D + M/60 + S/3600
Signed decimal degrees = sign × (D + M/60 + S/3600)

Minutes and seconds are subdivisions of a degree, not digits to append after a decimal point. For 12° 15′ 30″:

Component Contribution in degrees
D = 12 12
M = 15 15/60 = 0.25
S = 30 30/3600 = 0.008333…
Magnitude 12.258333…

The positive result is approximately 12.258333333°, rounded to nine decimal places. A six-place display is 12.258333°. Keep the unrounded formula basis separate from either display.

Apply a negative sign to the full value

For the same magnitude with negative sign:

−(12 + 15/60 + 30/3600) ≈ −12.258333333°

Do not use −12 + 15/60 + 30/3600, which gives approximately -11.741666667°. That expression subtracts the degree part but adds the fractions, so it represents a different magnitude.

The separate-sign design also handles an angle whose degree field is zero: negative sign, D = 0, M = 30, S = 0 yields -0.5°. If the tool tries to recover the sign from the number 0 in the degree field, it can lose the intended negative angle.

Validate the declared field format

This proposed general-angle tool uses these original rules:

Field Accepted input
Sign Explicit positive or negative selection
D Nonnegative integer degrees
M Integer minutes from 0 through 59
S Finite seconds from 0 up to, but not including, 60; decimals allowed

Blank is not zero. Reject negative D because the sign selector owns the sign. Reject M = 60 or S = 60 under this tool's strict input format rather than silently normalizing them. Those are parser rules, not a claim that no other mathematical representation can be normalized.

An invalid field should show its reason and clear the previous result. Do not leave a valid-looking answer beside an input the tool did not accept. The inspector must also detect nonfinite inputs or results rather than displaying them as angles.

Preserve the source record

Use a native worksheet with original source text, source reference, D/M/S, sign convention, unrounded formula, rounded display and metadata status. Keep the original notation so another reader can check how it was interpreted.

The synthetic example's datum is unknown. Formatting the number as decimal degrees does not transform its reference frame or make that datum known. More decimal places do not establish better location accuracy.

This tool converts a general angle. It does not infer a hemisphere, label the value latitude or longitude, inspect GPS data or place it on a map. A later coordinate-specific mode would need explicit axis, hemisphere/sign, range and datum rules. Do not silently add those interpretations to a successful format conversion.

Copy this prompt for the DMS inspector

Prepare an original US-English DMS-to-decimal-degree inspector specification and source-format/metadata worksheet. Do not implement a tool, inspect a real location or call a map/GPS API.

General angle with separate sign selector (+1/-1). D nonnegative integer; M integer 0..59; S finite 0 <= S < 60, decimal seconds allowed. Blank not zero. Negative D rejected because selector owns sign; M = 60 or S = 60 rejected under declared strict parser, no silent normalization. Show field-specific error and clear stale result; nonfinite values/results invalid.

Formula sign*(D+M/60+S/3600). Original D = 12, M = 15, S = 30 gives magnitude 12.258333…; nine-place display 12.258333333°, six-place display 12.258333°. Negative whole sign gives -12.258333333°, not -11.741666667°. Negative sign D = 0, M = 30, S = 0 gives -0.5°. Preserve unrounded derivation rather than using rounded display for further arithmetic.

Record original source text/reference, fields/sign convention, formula, display precision and metadata. Synthetic datum unknown stays unknown; format conversion not datum transformation or accuracy improvement. No hemisphere, latitude/longitude range or real-location inference. Any later coordinate mode needs explicit axis/hemisphere/range/datum specification. Native worksheet authoritative; later input/sign/precision/error/keyboard tests pending, no persisted edits or runtime claim.

Review the sign beside the derivation

The local HTML example puts the sign, three fields, formula and source metadata together. NOS supports saving and rendering prepared HTML. Keep the maintained source-format worksheet authoritative.

Explore NOS to present the prepared conversion review. Leave the sign convention and source metadata as visible as the decimal result.

Keep reading