A* with JavaScript.

Hold Shift to draw walls.
Hold Ctrl to delete walls.
Click to set a start point.
Click again to set a target point.
If there is no possible path, the source and target node will be respectively colored red and blue.

Your browser does not support the HTML5 canvas tag.