Taekwondo athlete Kimia Alizadeh posted the letter on Instagram as Iran's semiofficial ISNA news agency said she had fled to the Netherlands. She criticized wearing the mandatory hijab headscarf and accused officials in Iran of sexism and mistreatment.
"Whatever they said, I wore," Alizadeh wrote in the letter posted Saturday. "Every sentence they ordered, I repeated."
She described the decision to leave Iran as difficult, but necessary.
There was no immediate reaction from Iranian authorities. ISNA said Alizadeh had been reported injured and unable to compete. Their report suggested Alizadeh may try to compete under another nation's flag at the 2020 Olympic games in Tokyo.
Alizadeh, 21, won a bronze medal at the 2016 Olympics in Rio de Janeiro.
Her defection comes amid unprecedentedly high tensions between Iran and the United States.
In recent years, many Iranian athletes have left their country, citing government pressure. In September, Saeed Mollaei, an Iranian judoka, left the country for Germany. He said Iranian officials had forced him to not compete with Israeli judoka.
Alireza Faghani, an Iranian international soccer referee, also left Iran for Australia last year.