React integration

Overview

Cloudinary is a cloud-based service that provides an end-to-end image and video management solution including uploads, storage, manipulations, optimizations and delivery. All your media resources are optimized and delivered through a fast CDN using industry best practices.

Using Cloudinary's React SDK, you can easily perform smart image and video manipulations using code that integrates seamlessly with your existing React application, and deliver optimized and responsive media to your users.

Quick example

The following Cloudinary URL and corresponding React SDK code delivers the image below in an https delivery URL, including all of the following transformations :

  • Thumbnail crop to a size of 150x150 pixels using face detection gravity to automatically determine the location for the crop
  • Rounded corners with a 20 pixel radius
  • Sepia effect
  • Overlay of the Cloudinary logo on the southeast corner (with a slight offset). The logo is scaled down to a 50 pixel width, with increased brightness, and partial transparency (opacity = 60%)
  • Rotated by 10 degrees
  • Converted to and delivered in PNG format (the originally uploaded image was a JPG)

React:
<Image publicId="front_face.png" secure="true">
  <Transformation width="150" height="150" gravity="face" radius="20" effect="sepia" crop="thumb" />
  <Transformation overlay="cloudinary_icon" gravity="south_east" x="5" y="5" width="50" opacity="60" effect="brightness:200" />
  <Transformation angle="10" />
</Image>
sample transformation in URL and React SDK

React SDK features

  • Build URLs for image and video transformation & manipulation
  • Helper elements for embedding and transforming images, and more

React capitalization and data type guidelines

When using the React SDK, keep these guidelines in mind:

  • Parameter names: camelCase. For example: publicId
  • Classes: PascalCase. For example: ImageTag
  • Methods: camelCase. For example: toHTML
  • Pass parameter data as: Object

Getting started

This section describes the information you need to know for installing and setting up the React SDK, including links to sample projects that can help you get started more quickly.

Installation and Setup

1. Install the React SDK

The Cloudinary React SDK serves as a layer on top of Cloudinary's Javascript (cloudinary-core) library. Install the SDKs by running the following command:

npm install cloudinary-react --save

2. Include the required elements of the cloudinary-react library in your code

The following 4 elements are available:

import {Image, Video, Transformation, CloudinaryContext} from 'cloudinary-react';
  • CloudinaryContext - allows you to define shared parameters that are applied to all child elements.
  • Image - defines a Cloudinary Image tag.
  • Video - defines a Cloudinary Video tag.
  • Transformation - allows you to define additional transformations on the parent element.

3. Set Cloudinary configuration parameters.

To use the Cloudinary React elements, you must configure at least your Cloudinary account cloudName. You can additionally define a number of optional configuration parameters if relevant. You can find your account-specific configuration credentials in the dashboard of our Management Console. You can apply these settings directly to each element, or you can apply them to all child elements using a CloudinaryContext element.

For example:

  • Configuration directly in the element:
<Image cloudName="demo" publicId="sample" width="300" crop="scale" />
  • Configuration with CloudinaryContext applies to all child elements:
<CloudinaryContext cloudName="demo">
  <div>
    <Image publicId="sample" width="50" />
  </div>
  <Image publicId="sample" width="0.5" />
</CloudinaryContext>

Using core Cloudinary JavaScript features

The Cloudinary JavaScript library is the foundation library underlying Cloudinary's React SDK. You can access any of the core JavaScript functionality within your React code after importing the core library. For example:

import cloudinary from 'cloudinary-core';
const cloudinaryCore = new cloudinary.Cloudinary({cloud_name: 'demo'});
const SampleImg = () => (
    <img src={cloudinaryCore.url('sample')} />
);

Samples

See our Cloudinary-React-Sample project for examples to help you get started.