http://simulationcorner.net/maze/
I am not sure what happens if you have two possible paths to the exit but one of them is wider, but longer. It might not always find the shortest path.
I like this main idea, because it is independent on the dimension and structure of the maze.
http://simulationcorner.net/maze/