Floating Image places images and animated GIFs over other apps for reference, design, teaching, recording, and multitasking.
Add images, then move, scale, rotate, adjust opacity, hide, lock, and reorder them in the Layer Editor. Choose Photo Picker or the system file picker. Open With accepts one image; Share accepts multiple images from other apps.
Key features:
- Float images and animated GIFs above other apps
- Single- and multi-touch move, scale, and rotation controls
- Global and per-image opacity, visibility, locking, and layer order
- Tap a GIF to pause, resume, or replay it after completion
- Hide static images and GIFs through one shared gesture setting
- Optional experimental image opacity up to 100%; Android 12+ uses Canvas compatibility mode
- When enabled, optionally start new images at 100% opacity without changing existing images
- Optional Control Dot, notification, and Quick Settings controls
Free and Pro:
- Free supports up to 2 floating images
- Pro supports up to 9 images, or up to 30 with High Capacity Image Mode
- Pro adds Pass Through for locked layers, angle reset, and clockwise 90-degree rotation
- One-time purchase; no subscription
Layer Editor and Control Dot:
The Layer Editor manages individual layers. The optional Control Dot provides temporary global visibility and lock modes and opens the editor over another app. Temporary Dot modes do not overwrite saved layer settings.
Touch and overlay behavior:
On Android 10-11, transparent PNG areas can pass touches through at any image opacity when the system and app underneath allow it. On Android 12 and later, this works below 80% image opacity; Floating Image uses 79% as its standard ceiling. When the optional extension is enabled above 79% and Pass Through is off, Canvas compatibility mode uses the full rectangular overlay area, so transparent pixels may no longer pass touches through. A playing GIF uses a stable touch area; transparent areas of a paused GIF may become usable outside Canvas mode. Pro Pass Through sends touches through locked layers.
Image formats and import safety:
PNG, JPG/JPEG, WebP, and animated GIF are supported, including transparent PNG images. Static inputs must stay within all three limits: 100 MiB, 20,000 px per edge, and 200 megapixels. Valid static images are resized to a longest side of up to 4096 px.
GIFs of 50 MiB or less remain animated when they pass safety checks. Their decoded frames are sampled to no more than 2048 px per edge and 4 million pixels. Animations are also limited to 1,800 frames, 10 minutes, and 60 fps. GIFs over 50 MiB and up to 100 MiB, and smaller GIFs that exceed an animation limit, may instead be imported as still images when an initial frame can be decoded safely. GIFs over 100 MiB, files labeled as GIFs without a valid GIF header, and GIFs that cannot be decoded safely are rejected. If live playback later hits a resource or decoder limit, the app shows the saved preview but keeps its stored GIF copy.
For a batch within the available image limit, files are imported independently. One failed file does not remove images already added. The summary displays only relevant non-zero counts: images added, GIFs added as still images, and files that failed.
Important notes:
Imports and external shares respect the app's image-count limit and, on some devices, the system's overlay-window capacity. High Capacity Image Mode may lower runtime image resolution. Optional 100% opacity behavior varies by system. Overlapping locked layers in Pass Through may be dimmed automatically. Secure apps and screens can block overlays. On some vivo/OriginOS devices, keep the app in Recents so the Control Dot remains available.
Privacy and permissions:
Images stay on your device and are not uploaded to a developer server. Display over other apps is required for overlays. Notifications and battery settings are optional.
Float images and animated GIFs over other apps, with layers and touch control.