> For the complete documentation index, see [llms.txt](https://docs.platform9.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.platform9.com/private-cloud-director/images-and-image-library/image-upload-via-ui.md).

# Upload an Image Using the UI

## Overview

You can upload a virtual machine image to the Image Library Service directly from the <code class="expression">space.vars.product\_name</code> UI without installing the `pcdctl` CLI. The UI upload is suited for interactive, one-off imports; for scripted or bulk uploads use the `pcdctl` CLI method described in [Overview](/private-cloud-director/images-and-image-library/image-library---images.md).

In this guide, you will upload an image through the UI and verify that it reaches `active` status.

## Prerequisites

* You have `administrator` permissions in the target tenant (project).
* You have accepted the Image Library Service certificate. If the upload button is greyed out or a certificate warning appears, see [Image Library Service Certificate Configuration](/private-cloud-director/images-and-image-library/image-library-certificate-configuration.md) before continuing.
* The image file is in a [supported format](/private-cloud-director/images-and-image-library/image-library---images.md#supported-image-formats) (`raw`, `qcow2`, or `iso`).
* The Image Library Service host has sufficient free disk space to hold the image. Check available space on the Image Library host before uploading large images.

## Upload an Image

1. Sign in to the <code class="expression">space.vars.product\_name</code> UI and navigate to **Images**.
2. Select the **Import** button (or **Import Image**, depending on your UI version).
3. In the import dialog, complete the following fields:

   | Field                | Description                                                                                                                                 |
   | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
   | **Image Name**       | A descriptive name for the image.                                                                                                           |
   | **Image File**       | Browse to and select the image file on your local machine.                                                                                  |
   | **Disk Format**      | Select the disk format that matches your file: `qcow2`, `raw`, or `iso`.                                                                    |
   | **Container Format** | Select `bare` for most images (the image file contains only the disk image, with no outer container).                                       |
   | **Visibility**       | Select **Public** to make the image available to all tenants (projects) in the domain, or **Private** to restrict it to the current tenant. |
   | **Protected**        | Toggle on to prevent accidental deletion of the image.                                                                                      |
4. Select **Import** to start the upload.
5. The image row appears in the **Images** table with a status of `queued` while the file transfers, then transitions to `saving`, and finally to `active` when the upload completes successfully.

{% hint style="info" %}
**Large images**

Large image files (several gigabytes) can take several minutes to upload depending on your network bandwidth to the Image Library host. The UI does not display a progress percentage for the file transfer. If the status stays at `queued` for more than a few minutes, see [Troubleshoot Image Upload Issues](/private-cloud-director/images-and-image-library/troubleshooting-and-log-files/image-service-troubleshooting-guide.md#troubleshoot-image-upload-and-queued-status).
{% endhint %}

## Common Upload Errors

| Symptom                                                           | Likely Cause                                                                        | Resolution                                                                                                                                                                                                 |
| ----------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Upload button is not active or the import dialog cannot be opened | Image Library Service certificate is not trusted in your browser                    | Follow [Image Library Service Certificate Configuration](/private-cloud-director/images-and-image-library/image-library-certificate-configuration.md).                                                     |
| Upload starts but the image stays in `queued` indefinitely        | Disk full on the Image Library host, service not running, or a network interruption | See [Troubleshoot Image Upload Issues](/private-cloud-director/images-and-image-library/troubleshooting-and-log-files/image-service-troubleshooting-guide.md#troubleshoot-image-upload-and-queued-status). |
| Upload fails immediately with an HTTP error                       | Incorrect disk format or container format selected, or the image file is corrupted  | Verify the format with `qemu-img info <image-file>` on a local machine and retry with the correct format.                                                                                                  |
| `403 Forbidden` error                                             | Your user account does not have `administrator` permissions in the current tenant   | Ask your administrator to grant the required role in the target tenant.                                                                                                                                    |

## Next Steps

After the image reaches `active` status, you can use it to create virtual machines. For advanced image configuration, such as setting image properties that control VM behavior, see [Image Properties](/private-cloud-director/images-and-image-library/image-properties.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.platform9.com/private-cloud-director/images-and-image-library/image-upload-via-ui.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
