A navigation device, comprising: a point acquisition unit that acquires a GPS position based on GPS positioning, an estimated position on an estimated path, synchronized with the GPS position, and a candidate point on a candidate path that is set on a road within a predetermined distance from the estimated position, the estimated position being based on dead reckoning navigation, and the candidate point being found by moving the candidate point on the road by a movement distance that corresponds to the movement of the vehicle; a speculative maximum error acquisition unit that acquires a speculative maximum error (e) that specifies a distance of an error range with respect to the GPS position; an estimated path correlation value calculation unit that calculates a point correlation value (s) based on a distance from the estimated position to a reliability circle whose radius is the acquired speculative maximum error (e), and calculates a correlation value (Sp) of an estimated path that is a cumulative value of the point correlation values at each estimated position, wherein, if the estimated position is inside the reliability circle, the point correlation value is set to zero; a candidate path correlation value calculation unit that calculates a point correlation value based on a distance from the candidate point to the reliability circle, and calculates a correlation value (Sq) of a candidate path that is a cumulative value of the point correlation values at each candidate point, wherein, if the candidate point is inside the reliability circle, the point correlation value is set to zero; a comparing unit that compares the correlation value (Sp) of the estimated path and the correlation value (Sq) of the candidate path, when the number of points where the point correlation value (s) was calculated is equal to or greater than a predetermined number; and an estimated path correction unit that is configured to correct the estimated path by moving the estimated path based on the candidate path if the correlation value (Sq) of the candidate path is equal to or less than the correlation value (Sp) of the estimated path, and is configured to prohibit the correction that moves the estimated path if the correlation value (Sq) of the candidate path is greater than the correlation value (Sp) of the estimated path. a point acquisition unit that acquires a GPS position based on GPS positioning, an estimated position on an estimated path, synchronized with the GPS position, and a candidate point on a candidate path that is set on a road within a predetermined distance from the estimated position, the estimated position being based on dead reckoning navigation, and the candidate point being found by moving the candidate point on the road by a movement distance that corresponds to the movement of the vehicle; a speculative maximum error acquisition unit that acquires a speculative maximum error (e) that specifies a distance of an error range with respect to the GPS position; an estimated path correlation value calculation unit that calculates a point correlation value (s) based on a distance from the estimated position to a reliability circle whose radius is the acquired speculative maximum error (e), and calculates a correlation value (Sp) of an estimated path that is a cumulative value of the point correlation values at each estimated position, wherein, if the estimated position is inside the reliability circle, the point correlation value is set to zero; a candidate path correlation value calculation unit that calculates a point correlation value based on a distance from the candidate point to the reliability circle, and calculates a correlation value (Sq) of a candidate path that is a cumulative value of the point correlation values at each candidate point, wherein, if the candidate point is inside the reliability circle, the point correlation value is set to zero; a comparing unit that compares the correlation value (Sp) of the estimated path and the correlation value (Sq) of the candidate path, when the number of points where the point correlation value (s) was calculated is equal to or greater than a predetermined number; and an estimated path correction unit that is configured to correct the estimated path by moving the estimated path based on the candidate path if the correlation value (Sq) of the candidate path is equal to or less than the correlation value (Sp) of the estimated path, and is configured to prohibit the correction that moves the estimated path if the correlation value (Sq) of the candidate path is greater than the correlation value (Sp) of the estimated path.