Image & Video APIs

Upload assets in a SvelteKit app (video tutorial)

Last updated: Aug-20-2025

Overview

Add asset upload capabilities to your SvelteKit 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 SvelteKit application.

Video tutorial


Video Player is loading.
Current Time 0:00
Duration -:-
Loaded: 0%
Stream Type LIVE
Remaining Time -:-
 
1x
  • Chapters
  • descriptions off, selected
  • captions off, selected

    This video is brought to you by Cloudinary's video player - embed your own!

    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, enabling you to take advantage of Cloudinary's extensive features and capabilities. In a SvelteKit 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 SvelteKit app

    Jump to this spot in the video  0:31 Start with a basic SvelteKit 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 app.html.

    Add a new component for the Upload widget

    Jump to this spot in the video  1:21 Add a new file called UploadWidget.svelte in src/lib/components in which you can create a component for the Upload widget.

    Initialize the Upload widget

    Jump to this spot in the video  2:12 Use the createUploadWidget method to initialize the widget. Pass in your cloud name (which you can find in your Console Dashboard) and an unsigned upload preset.

    Create an upload preset

    Jump to this spot in the video  2:37 In your Cloudinary Console, navigate to Settings > Upload > Upload presets to create a new unsigned upload preset. Make sure to change the Signing mode to unsigned, then save the upload preset.

    Create a callback function

    Jump to this spot in the video  3:06 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  3:24 Render a simple button to open the Upload widget when clicked.

    Test it out

    Jump to this spot in the video  3:51 Add the UploadWidget component to the main route then open the app in a browser. 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.

    You can find the code used in this video tutorial in GitHub.

    Keep learning

    Related topics

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

     

    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!