# Uppy > The open source JavaScript file uploader Uppy is an open source JavaScript file uploader for the browser. It uploads from disk and from remote sources such as Google Drive, Dropbox and OneDrive, resumes interrupted uploads over the tus protocol, and has official bindings for React, Vue, Svelte and Angular. For a Markdown twin, replace the HTML URL’s trailing slash with `.md` (`/docs/quick-start/` becomes `/docs/quick-start.md`). ## Documentation - [Quick start](https://uppy.io/docs/quick-start.md): Uppy is a sleek, modular JavaScript file uploader that integrates seamlessly with any application. It’s fast, has a comprehensible API and lets you worry about more important problems than building a… - [AI image generator](https://uppy.io/docs/ai-image.md): The `@uppy/image-generator` plugin lets users generate images from text prompts using Transloadit’s 🤖 `/image/generate` Robot. Under the hood it asks your backend for signed Transloadit parameters,… - [Angular](https://uppy.io/docs/angular.md): Angular components for Uppy UI plugins. - [Audio](https://uppy.io/docs/audio.md): The `@uppy/audio` plugin lets you record audio using a built-in or external microphone, or any other audio device, on desktop and mobile. The UI shows real time sound wavelength when recording. - [AWS S3](https://uppy.io/docs/aws-s3.md): The `@uppy/aws-s3` plugin uploads files from the browser directly to an S3 bucket, or to any S3-compatible service such as Cloudflare R2, MinIO, or DigitalOcean Spaces. - [Box](https://uppy.io/docs/box.md): The `@uppy/box` plugin lets users import files from their Box account. - [Building plugins](https://uppy.io/docs/guides/building-plugins.md): You can find already a few useful Uppy plugins out there, but there might come a time when you will want to build your own. Plugins can hook into the upload process or render a custom UI, typically… - [Building your own UI with Uppy](https://uppy.io/docs/guides/building-your-own-ui-with-uppy.md): This guide is in progress. - [Choosing the uploader you need](https://uppy.io/docs/guides/choosing-uploader.md): Versatile, reliable uploading is at the heart of Uppy. It has many configurable plugins to suit your needs. In this guide we will explain the different plugins, their strategies, and when to use them… - [Companion](https://uppy.io/docs/companion.md): Companion is an open source server application which **takes away the complexity of authentication and the cost of downloading files from remote sources**, such as Google Drive, Dropbox, and others.… - [Comparison of uploaders](https://uppy.io/docs/comparison.md): Below is a comparison of **features** in Uppy versus other popular uploading software and services. - [Compressor](https://uppy.io/docs/compressor.md): The `@uppy/compressor` plugin optimizes images (JPEG, PNG, and any other format supported by the client’s browser) before upload, saving up to 60% in size (roughly 18 MB for 10 images). It uses… - [Custom stores](https://uppy.io/docs/guides/custom-stores.md): If your app uses a state management library such as Redux, it can be useful to have Uppy store its state there instead. That way, you could write custom uploader UI components in the same way as the… - [Dashboard](https://uppy.io/docs/dashboard.md): The all you need Dashboard: powerful, responsive, and pluggable. Kickstart your uploading experience and gradually add more functionality. Add files from remote sources, edit images, generate… - [Drag & Drop](https://uppy.io/docs/drag-drop.md): The `@uppy/drag-drop` plugin renders a drag and drop area for file selection. - [Drop target](https://uppy.io/docs/drop-target.md): The `@uppy/drop-target` plugin lets your users drag-and-drop files on any element on the page, for example the whole page, `document.body`. - [Dropbox](https://uppy.io/docs/dropbox.md): The `@uppy/dropbox` plugin lets users import files from their Dropbox account. - [Facebook](https://uppy.io/docs/facebook.md): The `@uppy/facebook` plugin lets users import files from their Facebook account. - [File input](https://uppy.io/docs/file-input.md): As of Uppy 5.0, `@uppy/file-input` is removed. Prefer the headless hooks (e.g., `useFileInput`) from `@uppy/react`, `@uppy/vue`, or `@uppy/svelte`, or use `@uppy/dashboard`. See the migration notes in… - [Form](https://uppy.io/docs/form.md): The `@uppy/form` plugin integrates with an existing HTML `