Despite the topic and day this is being posted, please no joke posts.
Bottom line up front: No one knows. The most common theory is the calendar switch theory. In the mid 16th c, many countries switched from the Julian to the Gregorian calendar. In doing so, New Years went from March 25th to Jan 1st. New Years could last until April 1st in many places. During the switch, those that followed the new calendar began to make fun of those that followed the old calendar - making the last day of the old New Year April fools.
Another theory is that it's left over from the Feast of Fools which was condemned by the Catholic Church in the 15th century but was also condemned by the protestant churches later on in the 16th and 17th centuries. The feast was celebrated in Jan but may have been moved after the condemnation to make it look "different" from the old feast.
What is for certain is that April Fools gained popularity in the 18th century.