Simply put, the EV Scanner uses the visisble stats from a Pokemon in Pokemon Scarlet/Violet and calculates their hidden EV values. A rough estimate of these values is available by viewing the "Judge" feature in game, but that doesn't give you the exact values.

I made this as a tool for helping me manage the hundreds of competitive Pokemon I've made over the years. As someone who tries new teams all the time, I found myself wanting to know what the EVs were on any of my dozens of Incineroars, but inputting their stats manually into Showdown was too tedious. Knowing the exact EVs will let you decide if you want to use a specific Pokemon, or how many stat-reducing berries you need to use.

In short, EVs are values that determine how strong your Pokemon are. These exact values are hidden in game, but are critical to know for competitive trainers. You can find a thorough explanation on Serebii.

EV Scanner aims to be as flexible as possible, and will try to work with whatever you give it. You can scan based on any of the following:
  • Manually typed in stats. Select the Pokemon, level, 6 stat values, and nature and click Scan.
  • A screenshot from your Nintendo Switch console. Open your Pokemon's stats screen (the one that displays the hexagon) and use the "Post" or "Send to Smartphone" options from the Album to transfer the screenshot to your device. Then upload the photo and click Scan.
  • A photo of your Nintendo Switch console. Open your Pokemon's stats screen (the one that displays the hexagon), and take a photo of your Switch. Then upload that photo, and click Scan. You'll have best results if your photo is a landscape photo, taken more or less straight on.

NOTE: Sometimes, the scanner might have trouble picking some things up. You can combine a picture and some manually typed stats if you're having trouble.

Sample Images that work:

There are a few things that make Silph Scope's job easier.
  • If uploading a photo, try and access the stats screen from the Boxes screen. If you use the party in the overworld, the background may cause issues with the scan.
  • EV Scanner requires your game to be in English. Other languages are not supported. If you use a picture or screenshot of a non-English Pokemon, you will need to specify the Pokemon species using the dropdown.
  • Similarly, if your Pokemon has a nickname, you will need to specify the Pokemon species using the dropdown.

Silph Scope (and EV Scanner) is a simple Python 3 Flask App. I used the following to make it work.
  • Python 3.12 (main application language)
  • PokeAPI and the PokeBase wrapper for getting all the Pokemon data.
  • OCR.Space for analyzing the contents of the uploaded photos.
  • OpenCV for other image manipulation and analysis.
  • Apache2 and mod_wsgi for serving the application.

Feel free to create an issue in the GitHub Repo, message me on BlueSky, or message me on Discord (username zturchan). I can't guaruntee I'll get to your issue right away, but I appreciate any and all feedback.

Silph Scope may store the images you upload temporarily. In the event of a successful scan, all images that you upload will be deleted after your results are returned to you.
If your images result in an error, they may be preserved for a longer period of time to help with debugging.
The text representation of the results you generate may be preserved for logging.

Silph Scope uses the OCRSpace API for image processing. You can find a copy of their privacy policy here.

My focus will be on whatever games are used for the current VGC circuit. EV Scanner will continue to be offerred for Scarlet and Violet so long as this site remains up. Champions does not need an EV Scanner since stat values are explicitly specified in-game. I do not plan to support gen 10 in the same way, as VGC will be played on Pokemon Champions.

Silph Scope's code base was written entirely by hand my me. I do not plan to use GenAI in any of my code or assets for both ethical and technical reasons. I cannot guaruntee that the same holds true for third-party packages this site may use. OpenCV which is used for image scanning is a traditional machine-learning library, and is not generative AI in the sense that the term is used today.