Binary codes have a special place in coding theory since they are one of the most commonly used in practice. There are classes of codes specific only to the binary case. One such class is self-complementary codes. Self-complementary linear codes are binary codes that, together with any vector, contain its complement as well. This paper is about binary linear self-complementary codes. A natural goal in coding theory is to find a linear code with a given length n and dimension k such that the minimum distance d is maximal. Codes with these properties are called optimal. Another important issue is classifying the optimal codes, i.e., finding exactly one representative of each equivalence class. In some sense, the classification problem is more general than the minimum distance bounds problem. In this work, we summarize the classification results for self-complementary codes with the maximum possible minimum distance and a length of up to 20. For the classification, we developed a new algorithm that is much more efficient compared to existing ones in some cases.