Brittle means hard but easily broken, fragile, or delicate. The opposite would be tough, flexible, or durable. 'Weak' is close but not truly opposite - something brittle is already weak in the sense of easily broken. 'Flexible' or 'tough' would be better opposites, but 'weak' is the closest available option.