“John 9:39 says Jesus came to judge, but John 12:47 says He did not come to judge. Can you give me your explanation?”
Let us read the verses. “Jesus said, For judgment I am come into this world, that they which see not might see; and that they which see might be made blind.” (John 9:39)
Jesus said He came to the earth “for judgment.” He did not say, in this verse, when this judgment would take place. Paul wrote, “I charge thee therefore before God, and the Lord Jesus Christ, who shall judge the quick and the dead at his appearing and his kingdom.” (2 Timothy 4:1) This judgment that Jesus came for does not occur until His second coming. His coming the first time has enabled Him to make a just and accurate judgment when that time comes. God “hath given him authority to execute judgment also, because he is the Son of man.” (John 5:27) Jesus will be the judge. “For the Father judgeth no man, but hath committed all judgment unto the Son.” (John 5:22) So, truly, Jesus came into the world, to become the Son of man, “for judgment.” In other words, He came so that He would be able to judge justly and fairly. Jesus “needed not that any should testify of man: for he knew what was in man.” (John 2:25) Jesus knows what is in man because He became a man. “For he knoweth our frame; he remembereth that we are dust.” (Psalms 103:14)
Jesus is the most qualified to judge us, but this judgment did not take place while Jesus was here. That is why He said, “I came not to judge (Greek: krinw) the world, but to save the world.” (John 12:47) This should clear up any discrepancy. Also, it is worthy to note that the word translated here “judge,” can also be translated “condemn.” This translation agrees more with the context, and agrees with John 3:17, which uses the same word and says, “For God sent not his Son into the world to condemn (Greek: krinw) the world; but that the world through him might be saved.”
As you can see, there is no real discrepancy here. I hope this helps to answer your question.