Training Camp: July 31
Check out some of the best shots from Wednesday's practice.
![No Title](https://static.clubs.nfl.com/image/private/t_new_photo_album/t_lazy/f_auto/49ers/egfxdbm9lvsdosefunuu.jpg)
1 / 27
![No Title](https://static.clubs.nfl.com/image/private/t_new_photo_album/t_lazy/f_auto/49ers/szwpilqr7thbthujisxd.jpg)
2 / 27
![No Title](https://static.clubs.nfl.com/image/private/t_new_photo_album/t_lazy/f_auto/49ers/h1ldzzqhgrgagyduvrvp.jpg)
3 / 27
![No Title](https://static.clubs.nfl.com/image/private/t_new_photo_album/t_lazy/f_auto/49ers/muhbjiuag3baxslntjwe.jpg)
4 / 27
![No Title](https://static.clubs.nfl.com/image/private/t_new_photo_album/t_lazy/f_auto/49ers/piewa1lby2kghlhs110s.jpg)
5 / 27
![No Title](https://static.clubs.nfl.com/image/private/t_new_photo_album/t_lazy/f_auto/49ers/wkkabvjgrqurz4o8gido.jpg)
6 / 27
![No Title](https://static.clubs.nfl.com/image/private/t_new_photo_album/t_lazy/f_auto/49ers/yuvstylt2sn16jq6dxcx.jpg)
7 / 27
![No Title](https://static.clubs.nfl.com/image/private/t_new_photo_album/t_lazy/f_auto/49ers/ufks5ki1dzao7tclfy3x.jpg)
8 / 27
![No Title](https://static.clubs.nfl.com/image/private/t_new_photo_album/t_lazy/f_auto/49ers/tifo8dgvebxdb4ifkpar.jpg)
9 / 27
![No Title](https://static.clubs.nfl.com/image/private/t_new_photo_album/t_lazy/f_auto/49ers/qhy2ypu92cr1dg5aj6qb.jpg)
10 / 27
![No Title](https://static.clubs.nfl.com/image/private/t_new_photo_album/t_lazy/f_auto/49ers/edhfqot7h3sr3o5wlpxr.jpg)
11 / 27
![No Title](https://static.clubs.nfl.com/image/private/t_new_photo_album/t_lazy/f_auto/49ers/ezlgucskzla808zhqjc8.jpg)
12 / 27
![No Title](https://static.clubs.nfl.com/image/private/t_new_photo_album/t_lazy/f_auto/49ers/t0nayzlxmila8pqzw8ly.jpg)
13 / 27
![No Title](https://static.clubs.nfl.com/image/private/t_new_photo_album/t_lazy/f_auto/49ers/d4ecgsqtusbs760fyiwt.jpg)
14 / 27
![No Title](https://static.clubs.nfl.com/image/private/t_new_photo_album/t_lazy/f_auto/49ers/ao61yv6hvswpq95639pc.jpg)
15 / 27
![No Title](https://static.clubs.nfl.com/image/private/t_new_photo_album/t_lazy/f_auto/49ers/fuasqq4wejpjkpcwzitm.jpg)
16 / 27
![No Title](https://static.clubs.nfl.com/image/private/t_new_photo_album/t_lazy/f_auto/49ers/dzpmrah6gckghw9fe7md.jpg)
17 / 27
![No Title](https://static.clubs.nfl.com/image/private/t_new_photo_album/t_lazy/f_auto/49ers/gzs0xmzyojevljrmoift.jpg)
18 / 27
![No Title](https://static.clubs.nfl.com/image/private/t_new_photo_album/t_lazy/f_auto/49ers/flxjc1s7nggc7xsenud1.jpg)
19 / 27
![No Title](https://static.clubs.nfl.com/image/private/t_new_photo_album/t_lazy/f_auto/49ers/hsqvxbnovhi0bpeazbsx.jpg)
20 / 27
![No Title](https://static.clubs.nfl.com/image/private/t_new_photo_album/t_lazy/f_auto/49ers/uninjvmgdrkkgrnd5yxo.jpg)
21 / 27
![No Title](https://static.clubs.nfl.com/image/private/t_new_photo_album/t_lazy/f_auto/49ers/sbnjzw8nfv6ysgjmknif.jpg)
22 / 27
![No Title](https://static.clubs.nfl.com/image/private/t_new_photo_album/t_lazy/f_auto/49ers/ff8f5s02qzi1mgjj4y4q.jpg)
23 / 27
![No Title](https://static.clubs.nfl.com/image/private/t_new_photo_album/t_lazy/f_auto/49ers/udsmtbjr9wbokwldj4ic.jpg)
24 / 27
![No Title](https://static.clubs.nfl.com/image/private/t_new_photo_album/t_lazy/f_auto/49ers/i4ixzux5yme5o852fojn.jpg)
25 / 27
![No Title](https://static.clubs.nfl.com/image/private/t_new_photo_album/t_lazy/f_auto/49ers/geo84tjmajdzpey1wdmo.jpg)
26 / 27
![No Title](https://static.clubs.nfl.com/image/private/t_new_photo_album/t_lazy/f_auto/49ers/u0gx7jxri2msro18swm0.jpg)
27 / 27
This Ad will close in 3