Upload a sprite · Add a custom outline · Adjust color, width, and style · 100% browser-only, nothing uploaded
Outlines make a sprite read clearly against any background. Without one, a character can blend into busy terrain or look flat compared to art with a defined edge. This matters most in games with dozens of sprites sitting over varied, detailed backgrounds at once.
Outlines aren't just an aesthetic choice — they're a functional UI tool. Inventory and ability icons need contrast so they stay visible over dynamic 3D worlds or semi-transparent panels.
The outline uses dilation (outer) and its inverse, erosion (inner). For an outer outline, the tool grows the opaque region outward one pixel at a time, checking each transparent pixel's eight neighbors.
No. The original sprite's pixels and their alpha values are preserved exactly as uploaded (unless you choose Inner Only or Both, which recolors — but does not make transparent — a thin band of existing opaque pixels). The outline itself is fully opaque in your chosen color, and everywhere else in the canvas remains fully transparent.
Yes. Select "Inner Only" in the Style selector. Instead of adding new pixels around the sprite, this recolors a band of existing pixels just inside the sprite's edge, leaving the overall sprite dimensions unchanged — useful when you don't want the canvas size to grow.
The downloaded file is always a lossless PNG with a full alpha channel, regardless of the format you uploaded. This preserves both your original sprite's transparency and the new outline crisply, with no compression artifacts.
Import the downloaded PNG as a Texture2D asset, then set its Texture Type to "Sprite (2D and UI)" in the Inspector. Unity reads the alpha channel automatically, so both the original sprite and its new outline display correctly with no further setup. See the Unity Sprites documentation for more on sprite import settings.
Drag the downloaded PNG into your Godot project's FileSystem panel, then assign it to a Sprite2D or TextureRect node's texture property. Godot 4 automatically reads the PNG's alpha channel, so the outline displays correctly without any import configuration. See the Godot 2D documentation for more on working with sprite textures.
An outer outline extends beyond your original sprite's silhouette by the outline width you set, so the canvas is automatically padded on all sides to make room for it — otherwise the outline would be clipped at the original image's edges. Inner Only never changes canvas size, since it only recolors pixels that already exist inside the sprite.
It works on the whole uploaded image as a single shape, so on a multi-frame sprite sheet every frame gets outlined individually based on its own opaque pixels — but if frames are packed tightly with little or no gap between them, outer outlines from adjacent frames can visually merge. For best results on sprite sheets, use Inner Only, or add extra padding between frames in Sprite Sheet Packer before outlining.
The outline algorithm relies entirely on the alpha channel to know where your sprite's silhouette is, so an image with a solid background will be treated as one giant opaque rectangle — outlining only its outer canvas edge. Use Sprite Background Remover first to strip the background to transparent, then upload the result here.
The dilation algorithm grows the silhouette using 8-directional (king-move) neighbor checks, which produces a slightly octagonal rather than perfectly circular growth pattern at larger widths. For pixel art at typical widths of 1–3px, this is visually indistinguishable from a rounded outline; at widths near 10px on small, sharp-cornered sprites, the faceted shape becomes more noticeable.
Yes — every setting (color, width, style) re-renders the preview instantly without re-uploading. Pick a new color from the color picker and the outline updates live; only the final "Download PNG" click produces the actual file.
Sprite Outline Generator is part of a suite of free browser-based tools for game developers and pixel artists.
© 2026 ORH Studio. All rights reserved.
Home | About | Privacy Policy | Terms of Service | Contact