A mocha is similar to a latte (espresso + hot milk), but with chocolate, added via cocoa powder or chocolate syrup. Think of a mocha as a grown-up hot chocolate.
A traditional espresso macchiato is made by dribbling a tiny dot of steamed milk on top of a single shot of espresso. The Italian word “macchiato” literally means “stained,” which, in this case, is exactly what the milk is doing to the coffee.
Similarities
The ingredients for macchiato and mochas are actually pretty similar. Each one contains espresso and milk. In traditional macchiatos, there isn't anything else added and the drink is made with steamed milk and espresso.
Differences
A macchiato is an espresso shot with a spoonful of foam added on top. And a mocha is espresso, chocolate, and milk, quite similar to a latte.
Caffeine
A macchiato will have more caffeine because it has more espresso. BUT you can also make a mocha with an additional espresso shot if you prefer a stronger drink!