What you need
Choose one authorised JPEG, PNG, or WebP still image up to 20 MB and 12 million decoded pixels. Animated frames are not processed.
Image Tools / Local studio
Estimate luminance slopes with Sobel kernels, normalize XYZ direction vectors, and encode them as a reviewable RGB normal map.
Step 1 / Source
Or browse for a JPEG, PNG, or WebP image that you own or are authorised to edit.
One file · up to 20 MB · maximum 50 megapixelsStep 2 / Output
This workflow uses one fixed, documented method so repeated runs on the same decoded pixels are comparable. Processing stays in this browser tab.
The selected image is decoded and re-encoded inside this browser tab.
After download, the preview URL, decoded bitmap, canvas, and selected source reference are cleared.
Nirmion cannot remove the finished file from your device or browser download history.
Workflow guide
Choose one authorised JPEG, PNG, or WebP still image up to 20 MB and 12 million decoded pixels. Animated frames are not processed.
Prototype a surface-direction texture for a game mock-up, then test seams and orientation in the actual rendering engine.
Download a separate RGB normal-map PNG; the original file on your device remains unchanged.
Decision guide
Horizontal and vertical Sobel gradients become X and Y vector components, a fixed positive Z is added, and the normalized vector is encoded in RGB.
Luminance-derived normals are an approximation; they do not recover physical height, material response, calibrated scale, or hidden geometry. Browser-local processing avoids a Nirmion file upload, but it cannot remove copies stored elsewhere.
OpenCV Sobel derivatives tutorialGood to know
Questions answered
No. For supported JPEG, PNG, and WebP inputs, decoding, pixel inspection, transformation, and export run in your current browser tab. Nirmion does not send the selected image to its API for this workflow. The result is a separate derivative or report, while the original file on your device remains unchanged and should be retained for comparison.
Horizontal and vertical Sobel gradients become X and Y vector components, a fixed positive Z is added, and the normalized vector is encoded in RGB. Existing alpha values remain available to the documented operation. The method does not infer subjects, restore missing detail, calibrate a display, or develop raw camera data. Compare fine edges, gradients, text, texture, and transparent pixels with the original before relying on the result.
Luminance-derived normals are an approximation; they do not recover physical height, material response, calibrated scale, or hidden geometry. The workspace accepts one supported still image up to 20 MB and caps this pixel-intensive operation at 12 million decoded pixels for predictable browser memory use. Results depend on browser decoding and encoding support. Animation, raw development, ICC calibration, layer editing, and batch processing are outside this tool's verified scope.