{
  "slug": "object-key",
  "term": "Object key",
  "aliases": [
    "object key name",
    "S3 object key"
  ],
  "definition": "An object key is the name used to address an object within an object-storage bucket.",
  "note": "In S3, the case-sensitive key is the complete name, including prefixes and delimiters. Its limit is 1,024 bytes in UTF-8, not a fixed character count. [s3-keys]\n\nThe bucket supplies the key's namespace; a version ID additionally selects a stored version when S3 versioning applies. A key is not a checksum or a version identifier. [s3-identity]\n\nIn S3 general-purpose buckets, a slash can support folder-like presentation without making the key a filesystem path. S3 separately provides a hierarchical namespace for directory buckets; do not generalize the flat model to every bucket type. [s3-folders] [s3-directory-buckets]\n\nListObjectsV2 can percent-encode returned names with encoding-type=url. Treat that response representation separately from the key: report%252Ffinal decodes once to report%2Ffinal, not report/final. Check whether a client has already decoded the response before decoding it. [s3-list-v2] [uri-percent-decoding]",
  "status": "shipping",
  "advantages": [
    {
      "text": "A bucket and exact key identify the object name independently of its presentation as folders.",
      "citationIds": [
        "s3-identity",
        "s3-folders"
      ]
    }
  ],
  "limitations": [
    {
      "text": "Path normalization by a client can change the key sent to S3 when it contains standalone dot or dot-dot segments.",
      "citationIds": [
        "s3-keys"
      ]
    }
  ],
  "related": [
    "object-storage",
    "object-key-prefix",
    "object-version-id",
    "entity-tag"
  ],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-10-28",
  "citations": [
    {
      "id": "s3-keys",
      "title": "Amazon S3: Naming objects, case, UTF-8 length and full keys",
      "url": "https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html",
      "accessed": "2026-10-28"
    },
    {
      "id": "s3-identity",
      "title": "Amazon S3: Keys and version-specific identity",
      "url": "https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html#BasicsKeys",
      "accessed": "2026-10-28"
    },
    {
      "id": "s3-folders",
      "title": "Amazon S3: Console folders and zero-byte marker objects",
      "url": "https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-folders.html",
      "accessed": "2026-10-28"
    },
    {
      "id": "s3-directory-buckets",
      "title": "Amazon S3: Directory buckets and hierarchical namespaces",
      "url": "https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-overview.html",
      "accessed": "2026-10-28"
    },
    {
      "id": "s3-list-v2",
      "title": "Amazon S3 API: ListObjectsV2, response encoding and fields",
      "url": "https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html",
      "accessed": "2026-10-28"
    },
    {
      "id": "uri-percent-decoding",
      "title": "RFC 3986, section 2.4: When to Encode or Decode",
      "url": "https://www.rfc-editor.org/rfc/rfc3986.html#section-2.4",
      "accessed": "2026-10-28"
    }
  ]
}
