Core meaning
又 and 再 both translate to English "again", but Chinese splits them strictly by tense. 又 refers to an action that has already happened or is happening repeatedly: past events, habitual repetition, or already-observed patterns. 再 refers to an action yet to happen: future repetition, a request to repeat, a hypothetical. The split maps cleanly: past-or-present = 又, future-or-request = 再. Once you internalise this you stop confusing them.
Past repetition: 又
又 typically pairs with 了 to mark a past repeated event: 他又来了 (he came again). The sentence announces that the repetition has happened. Use cases: habitual complaints (他又迟到 — he is late again), observed patterns (又下雨了 — it is raining again), or simple past repetition (我又忘了 — I forgot again). The 了 is near-obligatory because the repetition has completed.
他上个星期又来了。
Tā shàng ge xīngqī yòu lái le.
He came again last week.
Future repetition: 再
再 is the future partner. It is used for requests (请再说一遍 — please say it once more), plans (下次再去 — let us go again next time), and commands (再试一次 — try again). The action has NOT yet happened; 再 frames the speaker's wish for it to recur. Pair 再 with future-tense markers or commands; 再 sentences rarely carry 了.
下次我再来看你。
Xià cì wǒ zài lái kàn nǐ.
I will come visit you again next time.
With 不: different meanings
又不 and 再不 diverge. 又不 means "and not" or "but not" — used for contradictions: 又不是我的错 (it is not even my fault). 再也不 means "never again" — a firm future refusal: 我再也不来了 (I will never come back). Learners sometimes say 又不来 when they mean 再也不来, changing "again not (past)" to "never again". Get the adverb right or your listener hears a different time frame.
我再也不吃辣的了。
Wǒ zài yě bù chī là de le.
I will never eat spicy food again.
Habitual repetition: 又 ... 又 ...
A special construction 又...又... connects two simultaneous qualities or actions: 又便宜又好 (both cheap and good), 他又唱歌又跳舞 (he is both singing and dancing). 再 does NOT participate in this pattern. If you want to say "both X and Y" as characteristics, only 又...又... is correct. 再 never pairs with itself in this way.
这家餐厅又好吃又便宜。
Zhè jiā cāntīng yòu hǎochī yòu piányi.
This restaurant is both tasty and cheap.
Native-speaker instinct
Ask whether the action has already happened. If yes (past or habitual) → 又. If no (future or requested) → 再. A mental shortcut: "already did it again" = 又, "please do it again" = 再. Another shortcut: 了 loves 又; commands love 再. When you see yourself writing "再 ... 了" for a completed repetition, pause — it should almost certainly be 又.