A convolution is a weighted average of each pixel's neighbours. The kernel is the table of weights: centre it on a pixel, multiply each weight by the value underneath, add the products, and that total — divided by the divisor and shifted by the offset — is the output pixel. Everything else is a variation on those weights. An all-positive kernel summing to 1 averages, and blurs; a positive centre with negative edges amplifies local differences, and sharpens.
Edge kernels sum to zero, which is why they need absolute value. Sobel and the Laplacian respond to change, not to brightness: over a flat region the weights cancel and return zero, meaning black. At an edge they return a large number, positive or negative depending on which way the change runs. Without Absolute value half of those edges clip to black and you see only half the structure. The divisor for these kernels is 1 — normalising by a sum of zero is meaningless.
Read the histogram next to the image. It's the pixel count at each of the 256 levels, and the gold outline shows where the original sat. Blurring narrows the distribution toward the mean; sharpening widens it and pushes mass to the ends, where it clips and the information is gone for good. An edge kernel empties most of the range and piles pixels near zero, because most of an ordinary image is flat.
Nothing is uploaded anywhere. The file is read with the browser's file API, drawn to a canvas and processed in this tab. There's no server and the image isn't saved: reload and the page comes back empty. Large images are scaled to 1400 px on the long side so filtering stays instant.