Invert G=20 and G=200
Input and settings
2×1 PNG: RGBA=(10,20,30,255),(40,200,60,128)
Expected result
G becomes 235 and 55. R/B/A stay 10/30/255 and 40/60/128.
Convert between DirectX and OpenGL normal maps by inverting the green channel.
You can also drop or paste images. Pasted images may not retain the original file metadata.
File contents and names are not stored or uploaded.
Up to about 134.2 MB and 70 MP per image, 268.4 MB of input in total, and 100.7 MB of output. Devices with limited memory may require smaller images.
Share only the tool name and public URL. Your input and results are not included.
Switch normal-map conventions to match the renderer you use. If the normal Y direction appears reversed, check the destination convention before converting.
Green value 64 becomes 191. Red, blue, and alpha are unchanged; a second inversion restores the original.
Choose the source convention and conversion direction yourself. Both directions replace G with 255−G.
The input convention is not auto-detected. This does not generate normals from height maps. Only non-interlaced 8-bit PNG is supported; color profiles are not written.
Use Texture Channel Pack & Unpack to inspect individual channels.
Invert only G as 255-G and verify that a round trip restores the values.
Example buttons replace the inputs and settings above and calculate. Restore previous input steps back one example at a time. After trying multiple examples, repeat restore to return to your original input. This history is lost when the page closes.
2×1 PNG: RGBA=(10,20,30,255),(40,200,60,128)
G becomes 235 and 55. R/B/A stay 10/30/255 and 40/60/128.
2×1 PNG: G=235 and 55 / OpenGL→DirectX
G returns to 20 and 200. Both directions use the same 255-G operation.
The conversion treats the Y direction as the green channel sign convention. Applying 255-G twice returns the original. R/B/A, dimensions and file order are retained.
One non-interlaced 8-bit PNG, up to 128 MiB, 70 megapixels and 16,384 px per edge; indexed/APNG/tRNS unsupported. No normal renormalization, other-axis conversion or tangent/world-space conversion. The tool does not detect whether the source is actually a normal map. Restore returns the file/direction; rerun for output.
Independently calculate 255-20=235 and 255-200=55. Check saved pixels, preserved A=128, reverse conversion and original-file restoration.
No. Downloads are separate files. Closing the page discards the loaded content and results.
Only green (G) is inverted to 255−G. Red, blue, and alpha remain unchanged. Both conversion directions use the same operation.
No. Check the source and destination DirectX/OpenGL conventions, then choose a direction. This does not generate normals from height maps.
Non-interlaced 8-bit grayscale, RGB, and RGBA PNG are supported. Indexed, 16-bit, animated, and tRNS PNGs are unsupported. Color profiles are not written.
Keep any content you need before clearing. This tool does not autosave inputs or results. Reloading or closing the page, clearing inputs or resetting may discard your work.
Favorites and language preferences are stored separately and may be lost when site data is cleared. Tool resets and site-data deletion do not delete files already downloaded to your device.