---
sidebar_position: 7
---

import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

import UppyCdnExample from '/src/components/UppyCdnExample';

# Supporting IE11

We officially support recent versions of Chrome, Firefox, Safari and Edge.

Internet Explorer is not officially supported, as in we don’t run tests for it,
but you can be mostly confident it works with the right polyfills. But it does
come with a risk of unexpected results in styling or functionality.

## Polyfills

<Tabs>
  <TabItem value="npm" label="NPM" default>

```shell
npm install core-js whatwg-fetch abortcontroller-polyfill md-gum-polyfill resize-observer-polyfill
```

  </TabItem>

  <TabItem value="yarn" label="Yarn">

```shell
yarn add core-js whatwg-fetch abortcontroller-polyfill md-gum-polyfill resize-observer-polyfill
```

  </TabItem>
</Tabs>

```js
import 'core-js';
import 'whatwg-fetch';
import 'abortcontroller-polyfill/dist/polyfill-patch-fetch';
// Order matters: AbortController needs fetch which needs Promise (provided by core-js).

import 'md-gum-polyfill';
import ResizeObserver from 'resize-observer-polyfill';

window.ResizeObserver ??= ResizeObserver;

export { default } from '@uppy/core';
export * from '@uppy/core';
```
