---
application: "Intervention Image"
version: "Version 2"
status: "eol"
---

# Image::insert

## Place another image on current image



> public Intervention\Image\Image insert(mixed $source, [string $position, [integer $x, integer $y]])

Paste a given **image source** over the current image with an optional **position** and a **offset coordinate**. This method can be used to apply another image as watermark because the transparency values are maintained.

### Parameters

#### source
The image source that will inserted on top of the current image. The method can handle the following types of input:

- **string** - Path of the image in filesystem.
- **string** - URL of an image (```allow_url_fopen``` must be enabled).
- **string** - Binary image data.
- **string** - Data-URL encoded image data.
- **string** - Base64 encoded image data.
- **resource** - PHP resource of type gd. (when using GD driver)
- **object** - Imagick instance (when using Imagick driver)
- **object** - `Intervention\Image\Image` instance
- **object** - SplFileInfo instance (To handle Laravel file uploads via `Symfony\Component\HttpFoundation\File\UploadedFile`)

#### position (optional)
Set a position where image will be inserted. For example if you are setting the anchor to ```bottom-left``` the image will be positioned at the bottom-left border of the current image. The position of the new image will be calculated relatively to this location.

The possible values are:

- top-left (default)
- top
- top-right
- left
- center
- right
- bottom-left
- bottom
- bottom-right

#### x (optional)
Optional relative offset of the new image on x-axis of the current image. Offset will be calculated relative to the position parameter. Default: 0

#### y (optional)
Optional relative offset of the new image on y-axis of the current image. Offset will be calculated relative to the position parameter. Default: 0

### Return Values
Instance of `Intervention\Image\Image`

### Examples

```php
// create new Intervention Image
$img = Image::make('public/foo.jpg');

// paste another image
$img->insert('public/bar.png');

// create a new Image instance for inserting
$watermark = Image::make('public/watermark.png');
$img->insert($watermark, 'center');

// insert watermark at bottom-right corner with 10px offset
$img->insert('public/watermark.png', 'bottom-right', 10, 10);
```

### See also

- [mask](https://image.intervention.io/v2/api/mask.md)

---

## Become a Sponsor

### Intervention Image needs your help to keep the project going

Intervention Image is non-commercial, open source licensed and completely free to use. The considerable
effort required to maintain and develop the software is only possible with the financial support
of sponsors. There are two ways in which you can support this project.

- Support via [GitHub Sponsors](https://github.com/sponsors/Intervention)
- Support via [Ko-Fi](https://ko-fi.com/interventionphp)