Annotate image

Add Arabic text, line, arrow and shape layers, edit their order and export a local PNG.

Output is PNG using colors decoded by the browser and Canvas; original channel depth, HDR, color profiles and metadata are not guaranteed to be preserved.

One static JPEG, PNG or WebP: 8 MiB, 4 million pixels and 8,192 pixels per side. Local processing without uploads or automatic storage. A 15-second deadline; native drawing may briefly delay the interface. After cancellation, the slot remains reserved until an ongoing native decode or encode finishes.

Box coordinates are pixels from the top left after image orientation. Add a layer or save its edits, then export to refresh the preview. The first layer is drawn first and the last on top. Zero layers exports the unmarked image.

Stroke cannot exceed the smaller box side and must be smaller for unfilled shapes. A line must retain visible length after accounting for stroke width.

    Up to 32 layers. Boxes and strokes stay inside the image; no blur or secure redaction is provided. Color changes or overlays are not a file-privacy check.

    How to use

    Choose the image, then a layer type and box measured from the oriented image’s top-left corner. Set color and opacity, then text, font size and direction or shape stroke. Add the layer, or edit one and save changes. Use Earlier/Later to change drawing order or Delete to remove a layer. Export to refresh the preview, inspect it and download the PNG.

    Try an example

    In a 300×160 image, add “مرحبا” in a box at X=20, Y=20, width 240, height 80, with font size 32 and right-to-left direction. Add a differently colored rectangle after the text to draw it on top; it may cover the text, so change layer order when needed.

    Support & limits

    The first layer is drawn first and the last on top. Lines and arrows join opposite box corners, with reversal options changing direction; shapes and strokes remain inside the box. Line and paragraph separators, including U+2028 and U+2029, are rejected. Text is genuinely drawn with Canvas and device Tahoma, Arial or sans-serif fallback, without loading a font from input. Arabic uses browser shaping; no OCR, font database or identical cross-platform appearance is promised. Text whose measured bounds do not fit is rejected rather than width-compressed or cropped. Unsaved field edits prevent exporting until saved or cancelled, and the preview is not a drag editor. No blur or secure redaction is provided; a visual overlay is not a privacy check. PNG re-encodes the image without retaining original metadata.

    Common questions

    Why does the text not fit the box?

    The text width or ink height in your device’s font may exceed the box. Enlarge the box within the image or reduce font size and export again. Text is not secretly changed or shrunk to report success.

    Related tools