Private MIDI visualizer with no upload
midee lets you play, visualize, and export MIDI files without uploading them. Your .mid file is opened by your browser, rendered in your browser, and exported from your browser.
That matters if the MIDI is unreleased music, a paid arrangement, student work, a private composition, or simply something you do not want to send to a random converter.
The short answer
No, midee does not need to upload your MIDI file to play it, visualize it, or export an MP4 video. The app is a static browser app. The core MIDI, audio, canvas, and export work happens locally on your device.
What stays local?
| Data | Stays in your browser? |
|---|---|
The .mid / .midi file you drop in |
Yes |
| Parsed notes and tracks | Yes |
| Piano-roll rendering | Yes |
| Audio playback | Yes |
| MP4 export frames | Yes |
| Final MP4 download | Yes |
midee does not need a server-side render queue because modern browsers can do the heavy work directly with WebGL, Web Audio, and WebCodecs.
Why no-upload matters for MIDI
MIDI files can be small, but they are not meaningless. A MIDI file may contain:
- An original composition.
- A paid or licensed arrangement.
- A student performance.
- A transcription someone does not want redistributed.
- A work-in-progress cue, beat, game theme, or film sketch.
- Metadata such as track names.
For casual files, uploading may not bother you. For anything private or unreleased, local playback is the safer default.
Private workflow
- Open midee.app.
- Drop in your MIDI file.
- Listen and inspect the piano roll.
- Export an MP4 only if you want one.
- The downloaded video is saved by your browser like any other file.
No account is required, and there is no project library on a midee server.
Private MIDI playback vs upload converters
| Workflow | What happens |
|---|---|
| midee | Browser opens the MIDI locally and plays/renders it on your device |
| Upload converter | MIDI is sent to a server, processed there, then downloaded |
| Desktop DAW | Local, but requires install and setup |
| Screen recording | Local, but slower and easier to misconfigure |
If all you want is a quick listen or a clean piano-roll video, a no-upload browser workflow is a good balance.
Does "browser-based" mean "uploaded"?
Not necessarily. A website can process local files without uploading them. When you drag a MIDI into midee, the browser gives the app access to that file in memory. JavaScript can parse the file locally, just like a desktop app would.
That is different from upload tools where the file is sent over the network for processing.
Common questions
Does midee upload MIDI files? No. MIDI playback, visualization, and MP4 export happen locally in the browser.
Can I use midee for unreleased music? Yes, with the same judgment you would use for any local tool. The MIDI does not need to leave your device to be played or exported.
Does MP4 export require a server? No. midee exports MP4 in the browser using WebCodecs and a client-side MP4 muxer.
Is midee open source? Yes. midee is MIT-licensed and the source is available on GitHub.
Can I use it offline? After the app has loaded and assets are cached, core playback and export can work without a server round trip. Browser caching behavior can vary, so load the app once before relying on it offline.
Is this a secure file vault? No. midee is a local browser app, not encrypted storage or a rights-management system. The privacy benefit is that normal playback and export do not require uploading the MIDI to a server.
Try it
Open midee, drop in a MIDI, and play it without uploading. If you want a shareable result, export an MP4 locally.
Try midee
Free, open source, runs in your browser. Drop a MIDI, watch it sing.
Open the app →