Edit videos. In your browser.
FreeCut is a professional-grade video editor that runs entirely in your browser. Professional video editing, zero installation. Create stunning videos with multi-track editing, keyframe animations, real-time preview, and high-quality exports.
- Multi-Track Timeline - Edit video, audio, text, and shapes on separate tracks
- Keyframe Animations - Intuitive keyframe editor for smooth transitions and effects
- Real-Time Preview - See your changes instantly with smooth playback
- Professional Effects - Transitions, fade in/out, opacity, and animations
- Text Overlays - Add customizable text with fonts, colors, and positioning
- Shape Tools - Create rectangles, circles, polygons, and stars
- Audio Editing - Waveform visualization, volume control, and audio fades
- Video Thumbnails - Filmstrip preview for easy navigation
- Undo/Redo - Full history support for confident editing
- High-Performance Storage - Lightning-fast local storage using OPFS
- Browser Export - Render videos directly in your browser using WebCodecs
- Node.js 18 or higher
- npm 9 or higher
# Clone the repository
git clone https://github.com/walterlow/freecut.git
cd freecut
# Install dependencies
npm install
# Copy environment config
cp .env.example .env# Start the development server
npm run devOpen your browser to http://localhost:5173
- Create a Project - Click "New Project" from the projects page
- Import Media - Drag and drop video, audio, or image files into the media library
- Edit - Drag clips to the timeline, trim, arrange, and add effects
- Animate - Use the keyframe editor to add smooth transitions
- Preview - Use the player to review your edits in real-time
- Export - Render your final video in the browser
| Browser | Minimum Version |
|---|---|
| Chrome | 102+ |
Note: FreeCut uses modern browser APIs like OPFS (Origin Private File System) for optimal performance. Some features may not work in older browsers.
Copy .env.example to .env and configure:
VITE_SHOW_DEBUG_PANEL=true # Show/hide debug panel button (dev only)See .env.example for complete documentation.
| Component | Platform | Purpose |
|---|---|---|
| Frontend | Vercel | Static hosting, CDN |
- React - UI framework with concurrent features
- TypeScript - Type-safe JavaScript
- Vite - Fast build tool with HMR
- Canvas + WebCodecs - In-browser composition rendering and export
- TanStack Router - Type-safe routing
- Zustand - State management
- Tailwind CSS - Utility-first styling
- Shadcn/ui - UI components
npm run dev # Start development server (port 5173)
npm run build # Build for production
npm run lint # Run ESLintContributions are welcome! Here's how you can help:
- Report Bugs - Open an issue describing the problem
- Suggest Features - Share your ideas in the discussions
- Submit PRs - Fork the repo, make your changes, and submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
Built with these amazing open source projects:
- Mediabunny - Video processing
- TanStack Router - Type-safe routing
- Zustand - State management
- Shadcn/ui - UI components
- Vite - Build tooling
