Preheat the oven to 350°F. Grease a 9×5-inch loaf pan and line it with parchment paper, leaving some overhang for easy removal.
In a large bowl, whisk together the flour, sugar, baking powder, baking soda, salt, and orange zest. Stir in the chopped cranberries and nuts if using.
In a separate bowl, whisk together the melted butter, eggs, orange juice, and vanilla extract until smooth.
Pour the wet ingredients into the dry ingredients and gently stir until just combined. Avoid overmixing, as this can make the bread dense.
Transfer the batter to the prepared loaf pan and smooth the top. Bake for 55–60 minutes, or until a toothpick inserted into the center comes out clean or with a few moist crumbs.
Let the bread cool in the pan for about 10–15 minutes, then transfer it to a wire rack to cool completely before adding glaze.
Whisk together powdered sugar, orange juice, and orange zest until smooth. Drizzle over the cooled cranberry bread, slice, and serve.