Programmable Media

Upload assets in a React app (video tutorial)

Last updated: May-08-2024


Add asset upload capabilities to your React app using the Cloudinary Upload widget. Learn how to install and configure the Upload widget including how to make the widget work with the intricacies of a React application.

Video tutorial

View the code
You can find the code from this tutorial in GitHub.

Tutorial contents

This tutorial presents the following topics. Click a timestamp to jump to that part of the video.

Introduction to the Upload widget

Jump to this spot in the video  0:05 Cloudinary has many ways to upload files to your Media Library to take advantage of Cloudinary's extensive features and capabilities. In a React app you can use the Upload widget as a quick and easy way to provide a full upload experience.

Add the Upload widget script to your React app

Jump to this spot in the video  0:24 Start with an empty React application and add the Upload widget JavaScript file. Paste the code, which you can find in the Upload widget documentation, into the <head> section of index.html.

Add a new component for the Upload widget

Jump to this spot in the video  1:15 In your components folder, add a new file called UploadWidget.js in which you can create a component for the Upload widget. You can include the component in your App.js file.

Initialize the Upload widget

Jump to this spot in the video  3:06 Use the createUploadWidget method to initialize the widget. Pass in your cloud name (which you can find in the Product Environment Credentials section of your Console Dashboard) and an unsigned upload preset.

Create an upload preset

Jump to this spot in the video  3:44 In your Cloudinary Console, navigate to Settings > Upload > Upload presets to create a new unsigned upload preset.

Create a callback function

Jump to this spot in the video  4:17 Create a new callback function to handle the response from the Upload widget.

Add a button to open the Upload widget

Jump to this spot in the video  4:32 Return a simple button from the component to open the Upload widget when clicked.

Test it out

Jump to this spot in the video  5:21 Click the button to open the Upload widget and upload a file to your Media Library. You can open the Media Library to see that it successfully uploaded.

Take a look at these code examples:

Keep learning

Related topics

If you like this, you might also like...

Generate Upload Signature
Generate a timestamp and signature for a signed upload
Upload Widget
Embed an Upload Widget in your site
Upload with the CLI
Apply background removal to images on upload


Cloudinary Academy


Check out the Cloudinary Academy for free self-paced Cloudinary courses on a variety of developer or DAM topics, or register for formal instructor-led courses, either virtual or on-site.


✔️ Feedback sent!

Rate this page: