I suppose technically you could watch every episode of the anime, note the passage of time as Ash travels around the world, and do some math to determine his age, but that would be a time consuming task that would probably be inaccurate due to the fact that the anime has time skips in it and doesn't showcase the passage of time that well. He's *canonically* 10 but he has to have been traveling around in-universe for at least a couple years now, unless the world of Pokemon has a year length comparable to Jupiter or Ash just doesn't age in human years.
Then again we never did find out who or what Ash's dad is, did we...?