Oxidation of 2,18-diborylporphyrin provided 2,18-dihydroxyporphyrin, which shows solvent-dependent keto-enol tautomerism and dimerization through hydrogen bonding interaction in solution. Further oxidation of 2,18-dihydroxyporphyrins afforded doubly and directly linked dioxoisobacteriochlorin face-to-face dimers.