The Drop · September 22, 2026

Does my music get uploaded anywhere? What a browser visualizer does with your file

If the track is unreleased, this is the question you ask before you drag it into anything. The answer here is that there is nowhere for it to go.

An opened 2.5 inch hard disk drive lying on a pale surface with its casing removed, the mirrored platter and read head exposed, local storage of the kind an unreleased track sits on

Photo via Unsplash

Plenty of people will not hand an unreleased demo to a free online tool, and that instinct is correct. Most sites that offer to make you a video want the file on their server, because that is where their software runs. A browser tool is a different shape, and the difference is worth being able to check rather than take on trust.

The short answer

Your track is never uploaded, because there is nothing to upload it to. This site is static pages and the app is a single HTML file. No server takes a job, no queue, no account, no database. When you pick a song, the browser reads it off your own disk into the memory of that one tab, draws frames from it, and hands you a video back. The song never crosses the network.

That is not a promise about intentions, it is a description of what the code can do, and you can confirm it yourself in a minute without trusting a word of this.

What actually happens to the audio file

Start with what is missing. The classic way a file reaches a server is a file input sitting inside a form, which the browser posts to whatever address the form names. There is no form element anywhere in this app and no form action, so that path does not exist. The file input stands alone and hands the file straight to JavaScript.

From there the whole audio journey is one line:

audioBuffer = await audioCtx.decodeAudioData(await file.arrayBuffer())

Both halves are ordinary browser APIs that work locally. MDN describes what arrayBuffer() returns as "a promise that resolves with an ArrayBuffer that contains the blob's data in binary form", which is your file's bytes sitting in the tab's memory. decodeAudioData turns them into samples and the analyser reads the samples to find the beat. Images take a similar route through createObjectURL, which produces a blob: address that only means anything inside the page that created it.

Then there is the absence, which is what actually settles the question. Search the app for the things that send data out of a browser, a short list: fetch, XMLHttpRequest, WebSocket, sendBeacon, FormData. No matches. Not one. There is no code here capable of transmitting your track anywhere, which is a stronger statement than a policy promising it will not.

Check it yourself, it takes a minute

Every browser ships a panel listing every request a page makes, and you do not need to be a developer to read it. On Chrome press Control and Shift and J, or Command and Option and J on a Mac, then click the Network tab. One detail first: Chrome's own documentation notes that "DevTools only logs network activity while it's open", so open the panel, then reload the page.

Now use the tool normally. Load a song, preview it, run a render, download the result, and watch the list while you do. You will see the page, a pile of font files, a couple of analytics scripts, and then nothing further while you work. There is no row the size of your track and no request leaving with it. Sort by Size and the largest thing that ever crossed the wire is a font, not your five megabyte song.

For a second check that does not depend on watching, look at the page's response headers and find Content-Security-Policy. The part called connect-src lists the only addresses this page is permitted to open a connection to, and the browser enforces it rather than the site. It holds this domain and the two analytics hosts below. There is no upload endpoint on that list to send a file to even in principle.

What the page does load

A page that claimed to talk to nothing at all would be lying, so here is the whole list.

None of those touch the audio. A site knowing a visit happened and a site receiving your unreleased song are different things, worth keeping apart rather than treating any request at all as a leak.

Where the finished video comes from

The render is the other place people expect a server to appear, because on most tools that is the moment the work gets sent off to be processed. Here the recorder collects frames as the track plays, the pieces are assembled into one file in the tab, and the Download button points at that file in memory.

Which brings up the flip side, worth saying plainly: nothing is stored either. The app writes no cookies and uses none of the browser's storage, so a refresh takes your settings, your uploaded images and your unsaved render with it. A tool with nowhere to put your work also has nowhere to keep it. Rendering a whole album therefore has to be one long browser session, which is worth knowing before track seven.

What no upload does not mean

Three honest limits, because the phrase gets stretched further than it should. The first is that it says nothing about the computer you are sitting at. The finished video lands in your downloads folder, and on a shared or work machine that is a file somebody else can open. If the track is sensitive, the machine matters more than the website does.

It says nothing about what happens after you post the result. The moment a visualizer goes up on YouTube it is subject to everything that applies to any upload there, including automated matching against the rights databases.

And it is not a claim about every browser tool. Plenty of sites in this category render on their own machines, which is why the question is worth asking each time. The scope piece on free music video makers covers what you give up with a browser only tool, because there is a trade.

The short version

The question people usually ask next is whether any of it runs on a phone, and that one has a real answer rather than a reassuring one: the mobile post goes through what a phone browser can and cannot do here.

Try it with the demo nobody has heard

Free, in the browser, no signup and no watermark. Your audio never leaves your machine and each render comes out as a 1080p WebM you download yourself. Open the app with the network panel up and watch it stay put, or take the tour from the home page.

Open the visualizer