| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Reframe is a browser-based video editor — everything happens on your device. Your videos are never sent to any server. No account needed. No fees. Just open and edit.
Built for everyone — whether you're a creator resizing videos for social media, or just someone who wants to quickly trim and convert without installing bulky software.
Everything stays on your device. No servers. No tracking. No login.
| Shortcut | Action |
|---|---|
| Ctrl+Enter / Cmd+Enter | Export video |
| Space | Play/pause video preview |
| M | Toggle audio mute |
| Escape | Cancel export |
On macOS, use Cmd instead of Ctrl for keyboard shortcuts.
git clone https://github.com/magic-peach/reframe.git
cd reframe
bun installbun run devOpen http://localhost:3000 — component changes reflect instantly with Next.js Fast Refresh, so you usually do not need to restart the dev server. For FFmpeg reload notes and debugging tools, see the Development Tips.
bun run buildReframe supports a theme toggle in the header that switches between light, dark, and a high-contrast mode. The app remembers your choice in localStorage and will respect your system preference when no explicit choice is saved.
Outputs a static site to out/ — deploy to Vercel, Netlify, GitHub Pages, or any static host.
Reframe uses static export (output: 'export'), so it can be deployed to any static hosting provider.
Reframe uses static export (output: 'export') and can be deployed easily on Vercel.
Vercel will automatically build and host the static output.
# Install Vercel CLI globally
npm i -g vercel
# Login to Vercel
vercel login
# Deploy from project root
vercel --prodFFmpeg.wasm requires COOP/COEP headers for SharedArrayBuffer support.
Add the following to vercel.json:
{
"headers": [
{
"source": "/(.*)",
"headers": [
{
"key": "Cross-Origin-Opener-Policy",
"value": "same-origin"
},
{
"key": "Cross-Origin-Embedder-Policy",
"value": "require-corp"
}
]
}
]
}You can also deploy Reframe on other static hosting providers:
| Platform | Deployment Method |
|---|---|
| Netlify | Connect your fork at https://app.netlify.com/start |
| GitHub Pages | Deploy the generated out/ folder to the gh-pages branch |
| Cloudflare Pages | Connect your fork in Cloudflare Pages |
The quickest way to get Reframe live:
Option 1 — Vercel Dashboard (Recommended)
Option 2 — Vercel CLI
# Install Vercel CLI globally
npm i -g vercel
# Login to Vercel
vercel login
# Deploy from project root
vercel --prodNote: FFmpeg.wasm requires COOP/COEP headers for SharedArrayBuffer support. On Vercel, add a vercel.json in your project root:
{ "headers": [ { "source": "/(.*)", "headers": [ { "key": "Cross-Origin-Opener-Policy", "value": "same-origin" }, { "key": "Cross-Origin-Embedder-Policy", "value": "require-corp" } ] } ] }
Note: FFmpeg browser features may require proper CORS headers depending on hosting setup.
Build the static export:
bun run buildThe production files will be generated in the out/ directory.
You can deploy the out/ folder using:
For detailed technical information about Reframe's architecture, design choices, and implementation details, see the Architecture Documentation.
Reframe requires WebAssembly (WASM) support to process videos in the browser.
This project uses Next.js Fast Refresh in development mode. Most changes to React components, hooks, and styles are reflected instantly in the browser without restarting the dev server.
Learn more: https://nextjs.org/docs/architecture/fast-refresh
Changes to ffmpeg.ts may not hot-reload correctly because FFmpeg initialization and WebAssembly modules can persist in memory.
If updates are not reflected:
FFmpeg WASM reference: https://ffmpegwasm.netlify.app/docs/overview
FFmpeg WebAssembly assets can be large and may take time to download during development.
Use the browser DevTools Network tab to:
Chrome DevTools: https://developer.chrome.com/docs/devtools/network
Install React DevTools for easier component inspection and debugging.
Helpful for:
React DevTools: https://react.dev/learn/react-developer-tools
The browser console provides important runtime diagnostics for:
Filtering logs by warnings/errors can speed up debugging significantly.
Development builds include source maps, allowing you to debug original TypeScript/React source files directly from DevTools.
Tips:
JavaScript debugging guide: https://developer.chrome.com/docs/devtools/javascript
FFmpeg WebAssembly processing can consume significant browser memory during video operations.
Recommendations:
Performance tools: https://developer.chrome.com/docs/devtools/performance
After modifying .env.local, restart the Next.js development server because environment variables are loaded only during server startup.
Example:
npm run devEnvironment variables guide: https://nextjs.org/docs/app/guides/environment-variables
Reframe is an open-source project and we welcome contributions of all kinds — from fixing a typo in the README to implementing a brand new feature. Every contribution matters.
Reframe is an official project in GirlScript Summer of Code (GSSoC) 2026! We have 300+ open issues across all difficulty levels — from beginner-friendly tasks to advanced features.
If you're a GSSoC participant, add the gssoc'26 label to any issue you want to work on, and mention your GitHub username in a comment to claim it.
| Level | Label | Description |
|---|---|---|
| 🟢 Beginner | good first issue | Small, well-defined tasks — perfect if this is your first open source contribution |
| 🟡 Intermediate | enhancement | Feature improvements and UX enhancements |
| 🔴 Advanced | feature | New features requiring deeper understanding of FFmpeg/WASM |
| 🔵 Any Level | documentation | Docs, guides, and README improvements |
| ♿ Any Level | accessibility | Making Reframe usable for everyone |
See CONTRIBUTING.md for the full guide including development setup, code style, and PR checklist.
Thanks to all the amazing people who have contributed to Reframe!
We welcome contributions of all kinds — code, documentation, design, and feedback. Check out our Contributing Guide to get started.
MIT License — See LICENSE for details.
If Reframe saved you time, please ⭐ star the repo — it helps others discover it!
Made with ❤️ for everyone who just wants to edit a video without the hassle.
| Back | FazBrowse Home | New Git URL |