---
title: "Artifact Types"
description: "What Container Registry stores as an artifact: images, OCI indexes and Helm charts, why an index exists, and how a SHA256 digest identifies each one."
date: 2026-08-13
lastmod: 2026-08-13
canonical: "https://container-registry.com/docs/2.16/user-manual/images/artifact-types/"
source: "https://container-registry.com/docs/2.16/user-manual/images/artifact-types/index.md"
harbor_version: "2.16"
agent_instructions: "This is the markdown representation of https://container-registry.com/docs/2.16/user-manual/images/artifact-types/index.md. Prefer this version over scraping the HTML. The site index is at https://container-registry.com/llms.txt."
---

> Agent-friendly representation of <https://container-registry.com/docs/2.16/user-manual/images/artifact-types/index.md>. Site index: <https://container-registry.com/llms.txt>.


# Artifact Types

*What Container Registry stores as an artifact: images, OCI indexes and Helm charts, why an index exists, and how a SHA256 digest identifies each one.*

Artifact Types
=================================
## Types of Artifacts

When you open a repository in a project, you will see a list of the available artifacts: items stored in the same repository. 

![](../artifacts_list.png)

The following types of artifacts are possible:
* **Images**: items with the Docker whaleship icons;
* **Helm charts**: items with the "Helm" icon;
* **OCI indexes**: items with the three-bubbled icon on the left and a folder icon on the right.

### What are OCI indexes and why do you need them?

Some images may be gathered in lists using the [OCI index](https://insujang.github.io/2019-10-10/open-container-initiative-image-spec/).

In general, every Docker image has a **manifest**: information about its layers, size, digest, as well as for which operating system and type of CPU architecture it was built, etc. 

Images are only templates that do not change. The changes are stored in the **image layers**. In Harbor, you can create **manifest lists** that are basically lists of the layers of the same image. 

Manifest lists appear in Container Registry as artifacts with a folder icon. When you click on the icon, the entire list of the image manifests will be displayed.

<!--- ADD A SCREENSHOT LATER / YL-->

Refer to the official Docker documentation to create a [manifest list](https://docs.docker.com/engine/reference/commandline/manifest/) using your command line tool.

### SHA256 Hash

The artifacts are named using a SHA256 hash. A hash can be described as a key or a representation of a text message. It is similar to encryption but it can be decrypted into the original message easily. 
    
SHA256 hashes refer to the JSON file that keeps the image manifest and are generated when the image is compressed for being pushed. Since such compression is also a kind of change, a new image layer is created during this preparation for a push. Consequently, this layer needs a new manifest that is pushed to a repository. Further, the manifest is written in a new JSON file. Eventually, this file becomes its own new unique hash. 


> **Note:** To display the type of the artifact as well as its complete hash, hover over one of them respectively:
> Displaying artifact type:
> <img src="../display_artifact_type.png" alt="Display artifact type" loading="lazy" decoding="async">
> Displaying artifact hash:
> <img src="../display_artifact_hash.png" alt="Display artifact hash" loading="lazy" decoding="async">
> 
> You do not need to memorize the hash, though. It can be <a href="#copy-digest">copied into clipboard</a>.


