R2up - Modern Cloudflare R2 File Uploader 🚀
🌐 Live Demo | 📖 Documentation | 🐛 Report Issues
📋 Table of Contents
- Overview
- Key Features
- Quick Start
- Setup Guide
- Browser Compatibility
- Technical Stack
- Development
- Contributing
- SEO & Discoverability
- License
🎯 Overview
R2up is a modern, browser-based tool designed specifically for uploading files to Cloudflare R2 storage. Unlike the Cloudflare R2 web interface which has a 300MB file size limit, R2up uses chunked uploads to handle files of any size. Built with React and TypeScript, it offers a beautiful, intuitive interface with advanced features like chunked uploads, progress tracking, and seamless drag-and-drop functionality.
Perfect for developers, content creators, and businesses who need a reliable, fast, and secure way to upload files to Cloudflare's S3-compatible R2 storage service.
🌟 Why Choose R2up?
- 🚀 Bypasses 300MB Limit - Upload files larger than Cloudflare's web UI allows
- 🆓 Completely Free - No subscription fees or hidden costs
- 🔒 Secure & Private - All processing happens in your browser
- ⚡ Lightning Fast - Optimized chunked uploads for maximum speed
- 📱 Mobile Friendly - Works perfectly on all devices
- 🎨 Beautiful UI - Modern design with smooth animations
- 🛠️ Developer Friendly - Built with modern web technologies
✨ Key Features
Core Upload Features
- Chunked Upload Technology - Split large files for reliable transfers
- Real-time Progress Tracking - Monitor upload progress for each file
- Drag & Drop Interface - Intuitive file selection and upload
- Multiple File Support - Upload multiple files simultaneously
- Pause & Resume - Control your uploads with pause/resume functionality
- Smart Error Handling - Automatic retries and detailed error messages
User Experience
- Modern Glass-morphism Design - Beautiful, contemporary interface
- Dark Theme - Easy on the eyes with professional aesthetics
- Responsive Layout - Perfect experience on desktop, tablet, and mobile
- Smooth Animations - Powered by Framer Motion for fluid interactions
- Toast Notifications - Instant feedback for all actions
Technical Features
- S3-Compatible API - Works with Cloudflare R2's S3 interface
- Client-Side Processing - No server required, runs entirely in browser
- Local Storage Persistence - Remembers your settings and upload queue
- CORS Configuration Help - Built-in guide for R2 bucket setup
- Cross-Browser Compatibility - Works in all modern browsers
🚀 Quick Start
- Visit r2up.cloudwerx.dev
- Configure your Cloudflare R2 credentials
- Upload files with drag & drop or file browser
- Monitor progress and enjoy blazing-fast uploads!
📖 Setup Guide
1. Get Your Cloudflare R2 Credentials
- Log in to Cloudflare Dashboard
- Navigate to R2 Object Storage
- Note your Account ID (found in the right sidebar)
- Create an R2 Token with read/write permissions
- Create or select your R2 Bucket
2. Configure R2up
Enter your credentials in the Configuration section:
- Account ID: Your Cloudflare account identifier
- Access Key ID: From your R2 token
- Secret Access Key: From your R2 token
- Bucket Name: Your R2 bucket name
- Chunk Size: Upload chunk size (5-10MB recommended)
3. Set Up CORS (Required)
Configure CORS for your R2 bucket to allow browser uploads:
[
{
"AllowedOrigins": ["http://localhost:5173", "https://r2up.cloudwerx.dev"],
"AllowedMethods": ["GET", "PUT", "POST", "DELETE", "HEAD"],
"AllowedHeaders": ["*"],
"ExposeHeaders": ["Content-Length", "Access-Control-Allow-Origin", "Content-Type"],
"MaxAgeSeconds": 3600
}
]
4. Start Uploading!
- Drag files into the upload area
- Or click to browse and select files
- Monitor progress in real-time
- Files are uploaded directly to your R2 bucket
🌐 Browser Compatibility
R2up works in all modern browsers:
- ✅ Chrome 90+ (Recommended)
- ✅ Firefox 88+
- ✅ Safari 14+
- ✅ Edge 90+
- ✅ Opera 76+
Mobile Support
- ✅ iOS Safari 14+
- ✅ Chrome Mobile 90+
- ✅ Samsung Internet 13+
🛠️ Technical Stack
Frontend Framework
- React 19.1.0 - Modern UI library
- TypeScript 5.8.3 - Type-safe development
- Vite 6.3.5 - Lightning-fast build tool
Styling & UI
- TailwindCSS 4.1.7 - Utility-first CSS framework
- Framer Motion 12.12.1 - Smooth animations
- Heroicons 2.2.0 - Beautiful SVG icons
- React Icons 5.5.0 - Icon library
Cloud & Storage
- AWS SDK for JavaScript 3.815.0 - S3-compatible API client
- Cloudflare R2 - S3-compatible object storage
Development Tools
- ESLint 9.25.0 - Code linting
- PostCSS 8.5.3 - CSS processing
- Autoprefixer 10.4.21 - CSS vendor prefixes
🔧 Development
Prerequisites
- Node.js 18+
- npm 9+
Local Setup
# Clone the repository
git clone https://github.com/CLOUDWERX-DEV/cloudwerx-dev.git
cd R2up
# Install dependencies
npm install
# Start development server
npm run dev
# Build for production
npm run build
# Preview production build
npm run preview
Project Structure
R2up/
├── src/
│ ├── components/ # React components
│ ├── App.tsx # Main app component
│ └── main.tsx # Entry point
├── public/ # Static assets
├── dist/ # Production build
└── package.json # Dependencies
🤝 Contributing
We welcome contributions! Here's how you can help:
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
Development Guidelines
- Follow TypeScript best practices
- Use semantic commit messages
- Add comments for complex logic
- Test on multiple browsers
- Update documentation
🔍 SEO & Discoverability
R2up is optimized for search engines with:
On-Page SEO
- ✅ Semantic HTML structure
- ✅ Optimized meta tags and descriptions
- ✅ Open Graph tags for social sharing
- ✅ Twitter Card integration
- ✅ Structured data (JSON-LD)
Technical SEO
- ✅ Fast loading times with Vite
- ✅ Mobile-first responsive design
- ✅ Progressive Web App features
- ✅ Proper sitemap.xml
- ✅ Robots.txt configuration
Search Keywords
- Cloudflare R2 uploader
- File upload tool
- S3 compatible storage
- Browser-based file manager
- Chunked file upload
- Cloudflare R2 client
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🏢 About CLOUDWERX LAB
R2up is developed and maintained by CLOUDWERX LAB - "Digital Food for the Analog Soul"
- Website: cloudwerx.dev
- GitHub: @CLOUDWERX-DEV
- Contact: sysop@cloudwerx.dev
**Made with ❤️ by CLOUDWERX LAB** [🌐 Website](http://cloudwerx.dev) • [📧 Contact](mailto:sysop@cloudwerx.dev) • [🐙 GitHub](https://github.com/CLOUDWERX-DEV) ⭐ **Star this repo if R2up helped you!** ⭐
Log in or sign up for Devpost to join the conversation.