Prep the air fryer and basket: Preheat your air fryer to 320°F (160°C) for 3–4 minutes. Line the basket with a perforated parchment sheet or lightly oil the basket to prevent sticking.
Mix dry ingredients: In a large bowl, whisk flour, sugar, baking powder, and salt until well combined.
Mix wet ingredients: In a separate bowl, whisk eggs, melted butter, vanilla, and almond extract.
Stir in orange zest if using.
Make the dough: Pour wet into dry and stir with a spatula until a shaggy dough forms. Fold in almonds and chocolate (if using). The dough should be soft but not sticky; add 1–2 tablespoons flour if needed.
Shape the log: Lightly flour your hands and form the dough into a log about 8–9 inches long, 3 inches wide, and 3/4–1 inch thick.
Flatten the top slightly for even baking.
First bake: Place the log in the air fryer basket. Air fry at 320°F (160°C) for 14–16 minutes, until the top is set, lightly golden, and springs back when touched.
Cool a bit: Remove the log and let it cool on a board for 10 minutes. This short rest helps cleaner slices.
Slice: Using a sharp serrated knife, slice the log diagonally into 1/2–3/4-inch pieces.
Use a gentle sawing motion to avoid crumbling.
Second bake, side one: Arrange slices cut-side up in a single layer in the basket. Air fry at 300°F (150°C) for 5–7 minutes, until edges turn golden.
Second bake, side two: Flip slices and air fry another 4–6 minutes. They should feel dry and crisp, not soft in the center.
Optional chocolate dip: Cool completely.
Melt chocolate and dip one end of each biscotto, then set on parchment until firm.
Rest to crisp: Let biscotti sit out on a rack for 30 minutes. They firm up as they cool.