{"id":13515159,"url":"https://github.com/uploadcare/file-uploader","last_synced_at":"2026-01-17T16:33:03.681Z","repository":{"id":37748232,"uuid":"367328557","full_name":"uploadcare/file-uploader","owner":"uploadcare","description":"Stack-agnostic library for uploading, processing, and editing images on-the-fly","archived":false,"fork":false,"pushed_at":"2026-01-13T15:04:19.000Z","size":14476,"stargazers_count":102,"open_issues_count":15,"forks_count":18,"subscribers_count":8,"default_branch":"main","last_synced_at":"2026-01-13T16:59:12.084Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://uploadcare.com/docs/file-uploader/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/uploadcare.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-05-14T10:30:35.000Z","updated_at":"2026-01-13T14:51:40.000Z","dependencies_parsed_at":"2024-01-19T05:34:32.494Z","dependency_job_id":"908b868d-b979-4b0a-9efc-cc754b0a2be4","html_url":"https://github.com/uploadcare/file-uploader","commit_stats":{"total_commits":1606,"total_committers":21,"mean_commits":76.47619047619048,"dds":0.4881693648816936,"last_synced_commit":"a67c0ad313779bc93c63df8f82496688152ad2c6"},"previous_names":["uploadcare/jsdk","uploadcare/uc-blocks","uploadcare/file-uploader","uploadcare/blocks"],"tags_count":210,"template":false,"template_full_name":null,"purl":"pkg:github/uploadcare/file-uploader","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uploadcare%2Ffile-uploader","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uploadcare%2Ffile-uploader/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uploadcare%2Ffile-uploader/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uploadcare%2Ffile-uploader/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/uploadcare","download_url":"https://codeload.github.com/uploadcare/file-uploader/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uploadcare%2Ffile-uploader/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28511868,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T13:38:16.342Z","status":"ssl_error","status_checked_at":"2026-01-17T13:37:44.060Z","response_time":85,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T05:01:06.943Z","updated_at":"2026-01-17T16:33:03.672Z","avatar_url":"https://github.com/uploadcare.png","language":"TypeScript","funding_links":[],"categories":["JavaScript","TypeScript","Third Party Components"],"sub_categories":["File Upload"],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://uploadcare.com/?ref=github-readme\"\u003e\n    \u003cpicture\u003e\n      \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://ucarecdn.com/1b4714cd-53be-447b-bbde-e061f1e5a22f/logosafespacetransparent.svg\"\u003e\n      \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://ucarecdn.com/3b610a0a-780c-4750-a8b4-3bf4a8c90389/logotransparentinverted.svg\"\u003e\n      \u003cimg width=250 alt=\"Uploadcare logo\" src=\"https://ucarecdn.com/1b4714cd-53be-447b-bbde-e061f1e5a22f/logosafespacetransparent.svg\"\u003e\n    \u003c/picture\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://uploadcare.com/?ref=github-readme\"\u003eWebsite\u003c/a\u003e •\n  \u003ca href=\"https://uploadcare.com/docs/file-uploader?ref=github-readme\"\u003eDocs\u003c/a\u003e •\n  \u003ca href=\"https://uploadcare.com/blog?ref=github-readme\"\u003eBlog\u003c/a\u003e •\n  \u003ca href=\"https://discord.gg/mKWRgRsVz8?ref=github-readme\"\u003eDiscord\u003c/a\u003e •\n  \u003ca href=\"https://twitter.com/Uploadcare?ref=github-readme\"\u003eTwitter\u003c/a\u003e\n\u003c/p\u003e\n\n# Uploadcare File Uploader\n\n[![npm version](https://badge.fury.io/js/@uploadcare%2Ffile-uploader.svg)](https://www.npmjs.com/package/@uploadcare/file-uploader)\n[![GitHub Actions](https://github.com/uploadcare/blocks/workflows/checks/badge.svg)](https://github.com/uploadcare/blocks/actions?query=workflow%3ABuild+branch%3Amaster)\n[![License](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n[![minzipped size](https://img.shields.io/bundlephobia/minzip/@uploadcare/file-uploader@latest)](https://bundlephobia.com/package/@uploadcare/file-uploader@latest)\n\nAdd file uploads to your app and configure behavior and appearance as needed. Process and transform files before and after uploading. Compatible with any framework or environment.\n\n\u003cimg alt=\"Uploadcare File Uploader examples\" src=\"https://ucarecdn.com/916a1054-ca44-4c4a-9f7b-99fa499043d9/-/preview/\"\u003e\n\n## Features\n\n- **Multiple upload sources:** Drop files, select from the filesystem, use a link, camera, Dropbox, Google Drive, add them via the upload API, and more.\n- **Large file handling:** Upload faster with chunking, retries, and resumable uploads.\n- **Customizable appearance:** Use pre-built themes or modify styles with CSS to fit your project.\n- **Responsive and cross-browser:** Fits any device; supports the latest desktop and mobile versions of Chrome, Edge, Firefox, Opera, and Safari.\n- **Fully accessible:** A11Y options, including keyboard navigation, screen reader support, and color contrast settings.\n- **Advanced image editing:** Optimize images and apply smart transformations like cropping, resizing, or color filters via the built-in image editor, REST, or URL API.\n- **Secure uploads:** Protect your app by automatically detecting inappropriate content, malicious files, or unauthorized uploads.\n- **Typescript support:** Full Typescript support with autocompletion, type checking, and more for a better developer experience.\n\n## Framework support\n\nUploadcare File Uploader is built with [Web Components](https://developer.mozilla.org/en-US/docs/Web/API/Web_components), meaning you can integrate it into any environment—no adapters required.\n\nFor hands-on examples, visit our live sandboxes:\n\n- [React](https://github.com/uploadcare/file-uploader-examples/tree/main/examples/react-uploader)\n- [Next.js](https://github.com/uploadcare/file-uploader-examples/tree/main/examples/next-uploader)\n- [JavaScript](https://github.com/uploadcare/file-uploader-examples/tree/main/examples/js-uploader)\n- [Angular](https://github.com/uploadcare/file-uploader-examples/tree/main/examples/angular-uploader)\n- [Vue](https://github.com/uploadcare/file-uploader-examples/tree/main/examples/vue-uploader)\n- [Svelte](https://github.com/uploadcare/file-uploader-examples/tree/main/examples/svelte-uploader)\n\nCheck out the [documentation](https://uploadcare.com/docs/integrations/?ref=github-readme) for quickstart guides tailored to your framework or tool.\n\nExplore more tutorials in our [blog](https://uploadcare.com/blog/category/uploading/?ref=github-readme).\n\n## Quick Start\n\n### From CDN\n\n1. Connect File Uploader directly from your document:\n\n```html\n\u003cscript type=\"module\"\u003e\n  import * as UC from 'https://cdn.jsdelivr.net/npm/@uploadcare/file-uploader@1/web/file-uploader.min.js';\n\n  UC.defineComponents(UC);\n\u003c/script\u003e\n```\n\n2. Add File Uploader in your application markup:\n\n```html\n\u003clink\n  rel=\"stylesheet\"\n  href=\"https://cdn.jsdelivr.net/npm/@uploadcare/file-uploader@1/web/uc-file-uploader-regular.min.css\"\n/\u003e\n\n\u003cuc-file-uploader-regular ctx-name=\"my-uploader\"\u003e \u003c/uc-file-uploader-regular\u003e\n```\n\n3. Configure File Uploader and add your personal public key to the project. [Learn more](#configuration).\n\n### From NPM\n\n1. Install the package: `npm i @uploadcare/file-uploader`\n2. Connect File Uploader from your script file:\n\n```js\nimport * as UC from '@uploadcare/file-uploader';\n\nUC.defineComponents(UC);\n```\n\n3. Add File Uploader in your application markup:\n\n```html\n\u003clink\n  rel=\"stylesheet\"\n  href=\"https://cdn.jsdelivr.net/npm/@uploadcare/file-uploader@1/web/uc-file-uploader-regular.min.css\"\n/\u003e\n\n\u003cuc-file-uploader-inline ctx-name=\"my-uploader\"\u003e \u003c/uc-file-uploader-inline\u003e\n```\n\n4. Configure File Uploader and add your personal public key to the project. [Learn more](#configuration).\n\n### Configuration\n\nAll configurations in File Uploader are managed from `uc-config` block.\n\n1. Sign up to [Uploadcare](https://app.uploadcare.com/accounts/signup/?ref=github-readme).\n2. Get a Public API key in [Uploadcare project's dashboard](https://app.uploadcare.com/projects/-/api-keys/?ref=github-readme).\n3. Add a `uc-config` block to your markup and replace `YOUR_PUBLIC_KEY` with your own public key:\n\n```html\n\u003cuc-config ctx-name=\"my-uploader\" pubkey=\"YOUR_PUBLIC_KEY\"\u003e\u003c/uc-config\u003e\n```\n\n4. Make sure that your config uses the same `ctx-name` attribute value as your solution block.\n\nDiscover more about configuration options in [our documentation](https://uploadcare.com/docs/file-uploader/configuration/?ref=github-readme).\n\n## Browser support\n\nLatest desktop and mobile stable versions of Chrome, Edge, Firefox, Opera, and Safari are supported.\n\nInternet Explorer is outdated and [not supported anymore](https://uploadcare.com/blog/uploadcare-stops-internet-explorer-support/?ref=github-readme).\n\n## Quality Insights\n\nQuality Insights is a plugin for File Uploader that helps us better understand how the uploader is used: which features are enabled, which scenarios occur most frequently, and how the upload process works overall.\n\nSpecial attention is given to collecting error data - this allows us to quickly identify and resolve issues, improving the stability and reliability of the uploader. All collected data is non-personal, does not identify individual users, and is never shared with external services. The information is used only within the product to set development priorities and enhance user convenience.\n\n## Contribution\n\nYou’re always welcome to contribute:\n\n- Create [issues](https://github.com/uploadcare/file-uploader/issues) every time you feel something is missing or goes wrong.\n- Provide your feedback or drop us a support request at \u003ca href=\"mailto:hello@uploadcare.com\"\u003ehello@uploadcare.com\u003c/a\u003e.\n- Ask questions on [Stack Overflow](https://stackoverflow.com/questions/tagged/uploadcare) with \"uploadcare\" tag if others can have these questions as well.\n- Fork project, make changes and send it as pull request. For launching the developing mode follow these commands:\n  - Install dependencies: `npm install`.\n  - Start local dev-server: `npm run dev`.\n- Star this repo if you like it ⭐️\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuploadcare%2Ffile-uploader","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fuploadcare%2Ffile-uploader","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuploadcare%2Ffile-uploader/lists"}