<!--
{
  "availability" : [
    "iOS: 13.0.0 -",
    "iPadOS: 13.0.0 -",
    "macCatalyst: -"
  ],
  "documentType" : "symbol",
  "framework" : "CoreNFC",
  "identifier" : "/documentation/CoreNFC/NFCTag-swift.enum",
  "metadataVersion" : "0.1.0",
  "role" : "Enumeration",
  "symbol" : {
    "kind" : "Enumeration",
    "modules" : [
      "Core NFC"
    ],
    "preciseIdentifier" : "s:7CoreNFC6NFCTagO"
  },
  "title" : "NFCTag"
}
-->

# NFCTag

An object that represents an NFC tag object.

```
enum NFCTag
```

## Overview

When an NFC reader session detects a tag, it returns an [`NFCTag`](/documentation/CoreNFC/NFCTag-swift.enum) object. Use this generic object to determine if the tag is available, and to retrieve an object of a specific tag type.

Listing 1. Getting a MIFARE Ultralight tag from an array of generic tags objects

```swift
func tagReaderSession(_ session: NFCTagReaderSession, didDetect tags: [NFCTag]) {
    var tag: NFCTag? = nil
    
    for nfcTag in tags {
        // In this example you are searching for a MIFARE Ultralight tag (NFC Forum T2T tag platform).
        if case let .miFare(mifareTag) = nfcTag {
            if mifareTag.mifareFamily == .ultralight {
                tag = nfcTag
                break
            }
        }
    }
    
    if tag == nil {
        session.invalidate(errorMessage: "No valid coupon found.")
        return
    }
    
    session.connect(to: tag!) { (error: Error?) in
        if error != nil {
            session.invalidate(errorMessage: "Connection error. Please try again.")
            return
        }
        self.readCouponCode(from: tag!)
    }
}
```

## Topics

### Getting Information About a Tag

[`isAvailable`](/documentation/CoreNFC/NFCTag-swift.enum/isAvailable)

A Boolean value that indicates whether a detected tag is available.

### Getting a Specific Tag Type

[`NFCTag.iso15693(_:)`](/documentation/CoreNFC/NFCTag-swift.enum/iso15693(_:))

Gets a tag as an ISO 15693 tag object.

[`NFCTag.iso7816(_:)`](/documentation/CoreNFC/NFCTag-swift.enum/iso7816(_:))

Gets a tag as an ISO 7816 tag object.

[`NFCTag.feliCa(_:)`](/documentation/CoreNFC/NFCTag-swift.enum/feliCa(_:))

Gets a tag as a FeliCa tag object.

[`NFCTag.miFare(_:)`](/documentation/CoreNFC/NFCTag-swift.enum/miFare(_:))

Get a tag as a MIFARE tag object.



---

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)