---
name: "SDL_DuplicateSurface"
section: "3"
platform: "linux"
package: "libsdl3-doc"
version: "3.2.10+ds-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/SDL_DuplicateSurface"
---

# SDL\_DuplicateSurface(3)

Creates a new surface identical to the existing surface.

## NAME

SDL\_DuplicateSurface - Creates a new surface identical to the existing surface.

## HEADER FILE

Defined in SDL3/SDL\_surface.h

## SYNOPSIS

```
#include "SDL3/SDL.h"
```

**SDL\_Surface \* SDL\_DuplicateSurface(SDL\_Surface \*surface);**

## DESCRIPTION

If the original surface has alternate images, the new surface will have a reference to them as well.

The returned surface should be freed with

**SDL\_DestroySurface** ().

## FUNCTION PARAMETERS

- *surface*

  the surface to duplicate.

## RETURN VALUE

( **SDL\_Surface**\
  \*) Returns a copy of the surface or NULL on failure; call  **SDL\_GetError** () for more information.

## THREAD SAFETY

This function is not thread safe.

## AVAILABILITY

This function is available since SDL 3.2.0.

## SEE ALSO

**•**(3), [**SDL\_DestroySurface**(3)](/SDL_DestroySurface/3.md)
