Hiya! Please read this wall of text first!
Don't expect to win a game just because you 'counterpicked' the enemy. It heavily depends on the enviroment and playstyle of each character who will win. The matchups on this site simply show who usually has a small advantage over the other. For example, Reaper can kill Reinhardt pretty quickly and dance around his shield, but a good and agressive Reinhardt can easily kill Reaper too. That's also why there are some heroes listed as both strong and weak against. If Roadhog hooks Soldier76 he pretty much has a guaranteed kill, but if Soldier can keep him at a distance or is good at kiting him around he'll have the advantage. There are no real hardcounters! And lastly, keep in mind that the utility a hero brings is not listed here. Reinhardt seems to have a lot of counters, but he has his shield and teammates around to balance it. If this site's useful to you It'd be cool if you disabled adblock. Just a single ad right below, I promise :)
Big thanks to /u/kyleblane
whose data I was allowed to include and use as a base.
If you have suggestions, improvements or think a hero needs something changed either create an issue on GitHub
or simply contact me here: