<!--
{
  "availability" : [
    "iOS: 5.0.0 -",
    "iPadOS: 5.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.4.0 -",
    "tvOS: -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "CoreImage",
  "identifier" : "/documentation/CoreImage/CIFilterConstructor/filter(withName:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "Core Image"
    ],
    "preciseIdentifier" : "c:objc(pl)CIFilterConstructor(im)filterWithName:"
  },
  "title" : "filter(withName:)"
}
-->

# filter(withName:)

Returns a filter object specified by name.

```
func filter(withName name: String) -> CIFilter?
```

## Parameters

`name`

The name of the requested custom filter.

## Return Value

A [`CIFilter`](/documentation/CoreImage/CIFilter-swift.class) object implementing the custom filter.

## Discussion

Core Image calls this method when a filter is requested by name using the [`CIFilter`](/documentation/CoreImage/CIFilter-swift.class) class method [`init(name:)`](/documentation/CoreImage/CIFilter-swift.class/init(name:)) method (or related methods). Your implementation of this method should provide a new instance of the [`CIFilter`](/documentation/CoreImage/CIFilter-swift.class) subclass for your custom filter.

## See Also

  [Core Image Programming Guide](https://developer.apple.com/library/archive/documentation/GraphicsImaging/Conceptual/CoreImaging/ci_intro/ci_intro.html#//apple_ref/doc/uid/TP30001185)



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)