Welcome to Android Central! You could use
Smart Switch.
But you should also be able to sync your contacts across all of your devices, if those contacts are associated with your Google account. I strongly recommend this, because it's the best way to keep your contacts safe, in case a device fails. Since they're all synced with your Google account, you can sync them easily with any new device. If they're associated with the local Phone account, then they're not synced with anything, and if you lose them, they're gone.
Photos can be synced as well if you upload them to a cloud storage service like Google+ Photos or Flickr.