An off by one error in computer programming is an avoidable error in which a loop iterates one too many or one too few times than desired. Usually this problem arises when a programmer fails to take into account that a sequence starts at zero rather than one, or makes mistakes such as using "is less than" where "is less than or equal to" should have been used in a comparison.

For example, in the C programming language, a loop that iterates 5 times would be written as follows:

unsigned i;   // a temporary variable for counting
for( i = 0; i < 5; ++i ) {
    /* do stuff */
}

However, if the comparison used were <= (less than or equal to) or i were initialized to 1 rather than 0, an off by one error would result.

See also Fencepost error.