---
title: endIndex
framework: swift
role: symbol
role_heading: Instance Property
path: swift/collection/endindex
---

# endIndex

The collection’s “past the end” position—that is, the position one greater than the last valid subscript argument.

## Declaration

```swift
var endIndex: Self.Index { get }
```

## Discussion

Discussion When you need a range that includes the last element of a collection, use the half-open range operator (..<) with endIndex. The ..< operator creates a range that doesn’t include the upper bound, so it’s always safe to use with endIndex. For example: let numbers = [10, 20, 30, 40, 50] if let index = numbers.firstIndex(of: 30) {     print(numbers[index ..< numbers.endIndex]) } // Prints "[30, 40, 50]" If the collection is empty, endIndex is equal to startIndex.

## See Also

### Manipulating Indices

- [startIndex](swift/collection/startindex.md)
- [indices](swift/collection/indices-9kkbf.md)
- [index(after:)](swift/collection/index(after:).md)
- [formIndex(_:offsetBy:)](swift/collection/formindex(_:offsetby:)-393pr.md)
- [formIndex(_:offsetBy:limitedBy:)](swift/collection/formindex(_:offsetby:limitedby:)-6jwra.md)
