A Pokémon's minimum level is 1, and its maximum level is equal to your trainer level + 2 (or 40, whichever is lower).

Every time you power up, your Pokémon gains half a level.

You can roughly estimate a Pokémon's level by seeing how far the white dot is along the white semicircle above the Pokémon on their stats page. The leftmost tip is level 1 and the rightmost tip is your trainer level + 2 (or level 40), although the progressions get smaller and smaller the farther you get to the right side.

According to leaked game data, the highest level a Pokémon egg can hatch is level 20, the highest encounter level for Pokémon in the wild is level 30 (level 35 if weather boosted), and the maximum Pokémon level is level 40, reachable by powering up.

To find exactly what level your Pokémon is, power up your Pokémon following this chart until you're certain of your level from stardust cost changes, or use an online calculator or the equations below to try values until only legal values remain.