---
title: NSOpenPanel
framework: appkit
role: symbol
role_heading: Class
path: appkit/nsopenpanel
---

# NSOpenPanel

A panel that prompts the user to select a file to open.

## Declaration

```swift
class NSOpenPanel
```

## Overview

Overview Apps use the Open panel as a convenient way to query the user for the name of a file to open. In macOS 10.15 and later, the system always draws Open panels in a separate process, regardless of whether the app is sandboxed. When the user chooses a file to open, macOS adds that file to the app’s sandbox. Prior to macOS 10.15, the system drew the panels in a separate process only for sandboxed apps.

## Topics

### Configuring the Open Panel

- [canChooseFiles](appkit/nsopenpanel/canchoosefiles.md)
- [canChooseDirectories](appkit/nsopenpanel/canchoosedirectories.md)
- [resolvesAliases](appkit/nsopenpanel/resolvesaliases.md)
- [allowsMultipleSelection](appkit/nsopenpanel/allowsmultipleselection.md)
- [isAccessoryViewDisclosed](appkit/nsopenpanel/isaccessoryviewdisclosed.md)

### Accessing User Selection

- [urls](appkit/nsopenpanel/urls.md)

### Supporting iCloud Documents

- [canDownloadUbiquitousContents](appkit/nsopenpanel/candownloadubiquitouscontents.md)
- [canResolveUbiquitousConflicts](appkit/nsopenpanel/canresolveubiquitousconflicts.md)

### Deprecated

- [Deprecated Symbols](appkit/nsopenpanel-deprecated-symbols.md)

## Relationships

### Inherits From

- [NSSavePanel](appkit/nssavepanel.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSAccessibilityElementProtocol](appkit/nsaccessibilityelementprotocol.md)
- [NSAccessibilityProtocol](appkit/nsaccessibilityprotocol.md)
- [NSAnimatablePropertyContainer](appkit/nsanimatablepropertycontainer.md)
- [NSAppearanceCustomization](appkit/nsappearancecustomization.md)
- [NSCoding](foundation/nscoding.md)
- [NSMenuItemValidation](appkit/nsmenuitemvalidation.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [NSStandardKeyBindingResponding](appkit/nsstandardkeybindingresponding.md)
- [NSTouchBarProvider](appkit/nstouchbarprovider.md)
- [NSUserActivityRestoring](appkit/nsuseractivityrestoring.md)
- [NSUserInterfaceItemIdentification](appkit/nsuserinterfaceitemidentification.md)
- [NSUserInterfaceValidations](appkit/nsuserinterfacevalidations.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Open and Save Panels

- [NSSavePanel](appkit/nssavepanel.md)
- [NSOpenSavePanelDelegate](appkit/nsopensavepaneldelegate.md)
