Image Annotation Editor
Annotate common raster images locally with drawing marks and callouts, then control layer order and export the finished PNG without uploading the source.{{ summaryTitle }}
{{ summaryLine }}
The chart renderer is unavailable. The same counts remain available in the layer ledger.
| Layer | Type | Style | Placement | Copy |
|---|---|---|---|---|
| {{ row.layer }} | {{ row.type }} | {{ row.style }} | {{ row.placement }} |
An annotation directs attention without changing the underlying subject of an image. Arrows show direction or connection, rectangles isolate a boundary, highlights cover an area, and text callouts explain what the viewer should notice. The useful mark is specific enough to guide the eye but restrained enough that the original image remains readable.
Annotations are usually arranged as layers. A later layer appears above an earlier one, so order matters when marks overlap. Color and stroke width affect contrast, while placement affects meaning: a slightly misplaced arrow can point to the wrong control, and a broad highlight can hide the detail it is supposed to emphasize.
- Arrows connect a note to a precise point or show movement.
- Rectangles frame a region without covering its interior.
- Highlights tint an area and work best when the source remains visible beneath it.
- Text callouts keep a short explanation with the marked region.
Resolution and canvas size are separate from the annotation layout. A mark can be stored relative to the image edges and then drawn at different output dimensions. Doubling the export dimensions increases the number of pixels, but it does not reveal detail that was absent from the source image.
Before sending an annotated image, check the full composition at its intended viewing size. Confirm that marks do not cover names, account details, or other sensitive content, and remove source metadata separately if privacy requires it.
How to Use This Tool:
Choose the image first; loading a different file clears the current annotation layers.
- Drop or browse for one PNG, JPEG, or WebP image. Keep it at 10 MB or less, no more than 5,000 pixels on either side, and no more than 12 megapixels.
- Choose an Annotation tool, color, and stroke width. For a text callout, enter up to 120 characters before placing the mark.
- Drag on the Annotation workspace to draw. Use Add to center for keyboard-friendly placement, then select a layer to move, resize, reorder, or delete it.
- Use Undo and Redo while refining the composition. Existing layers keep their own color and stroke when the controls change.
- Review the Annotated image at 1× first. Choose 2× export only when a larger pixel canvas is useful for the handoff.
Interpreting Results:
Judge the final image by clarity, not by the number of layers. Every arrow should have an unmistakable target, every rectangle should contain the intended region, and every callout should remain legible at the size where the image will be viewed.
Type mix summarizes how many arrows, rectangles, highlights, and text callouts are present. It can reveal an annotation-heavy composition, but it is not a quality score. Use the Layer ledger to check stacking order, style, and placement when overlapping marks make the image difficult to read.
- Move a layer forward when it is hidden by a later mark; move it backward when it covers something more important.
- Increase stroke width for a larger output only if the mark becomes hard to see.
- Check transparent source areas carefully; annotated outputs place them on a white background.
Technical Details:
Each annotation stores its type, color, stroke width, optional text, and two points as fractions of the source width and height. Coordinates run from 0 at the left or top edge to 1 at the right or bottom edge. This normalized geometry keeps a layer in the same relative position when the raster is rendered at 1× or 2×.
Formula Core:
Export scale multiplies both source dimensions. It does not change the layer coordinates or the source image’s detail.
W and H are pixel dimensions, and s is exactly 1 or 2. A 1,600 × 900 source exported at 2× becomes 3,200 × 1,800 pixels. Dimensions are whole pixels; no further rounding is needed.
Mechanism Core:
| Property | Allowed value | Effect |
|---|---|---|
| Layer type | Arrow, rectangle, highlight, or text callout | Chooses how the two stored points are drawn. |
| Stroke | 2, 4, 6, 8, or 12 source-image pixels | Sets line weight for that layer. |
| Coordinates | 0 to 1 inclusive | Places each endpoint relative to the source image. |
| Text | 1 to 120 characters for a text callout | Supplies the callout label. |
| Composition | Up to 100 layers | Defines the ordered drawing stack and type counts. |
| Edit history | Most recent 50 committed changes | Bounds how far undo can travel. |
The layer order is the drawing order: later layers appear over earlier ones. The ledger’s placement is the midpoint of a layer’s two points, rounded to a whole percentage across and down. Type counts are simple layer counts; ties favor the first type in the fixed order of arrow, rectangle, highlight, then text.
The annotated raster is deterministic for the same decoded source image, ordered layers, and export scale. Browser image decoding and output compression can still make file bytes differ across formats.
Privacy and Limits:
The selected image is decoded and edited in the current browser tab; it is not uploaded for annotation. Closing or reloading the page ends the working session, so download the finished image before leaving.
- Only PNG, JPEG, and WebP source files are accepted; SVG and active document formats are rejected.
- A 2× export enlarges the raster canvas but cannot restore missing focus, texture, or source resolution.
- Transparent source pixels are flattened onto white in every annotated output.
- Annotations do not redact content. A highlight, rectangle, or callout may leave sensitive pixels recoverable in the exported image.
- Image metadata is a separate concern; remove it with a metadata tool when the final file must not retain camera or location details.