Skip to content
Branch: master
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
__tests__ Cache styles across caches during SSR (#952) Oct 23, 2018
types Emotion 10 typing (#795) Oct 8, 2018 @emotion/cache readme: fix minor typos (#1410) Jun 24, 2019
package.json Bump packages and fix links in changelogs Aug 2, 2019



createCache allows for low level customization of how styles get inserted by emotion. It's intended to be used with the <CacheProvider/> component to override the default cache, which is created with sensible defaults for most applications.

import createCache from '@emotion/cache'

export const myCache = createCache({
  key: 'my-prefix-key',
  stylisPlugins: [
    /* your plugins here */

Primary use cases

  • Using emotion in embedded contexts such as an <iframe/>

  • Setting a nonce on any <style/> tag emotion creates for security purposes

  • Using emotion with a developer defined <style/> tag

  • Using emotion with custom Stylis plugins




A nonce that will be set on each style tag that emotion inserts for Content Security Policies.


Function | Array<Function>

A Stylis plugin or plugins that will be run by Stylis during preprocessing. Read the Stylis docs to find out more. This can be used for many purposes such as RTL.


boolean | Function, defaults to true

Allows changing Stylis's vendor prefixing settings. It can be a boolean or a function to dynamically set which properties are prefixed. More information can be found in the Stylis docs.


string, defaults to "css"

The prefix before class names. It will also be set as the value of the data-emotion attribute on the style tags that emotion inserts and it's used in the attribute name that marks style elements in renderStylesToString and renderStylesToNodeStream. This is required if using multiple emotion caches in the same app.



A DOM node that emotion will insert all of its style tags into. This is useful for inserting styles into iframes.

You can’t perform that action at this time.