Your friend downloads it before you're done uploading

Encrypted · Up to 100 GB · Instant links · No signup · Free

For agents·curl -F file=@yourfile https://www.moonpush.com/api/upload
E2E encrypted

Drop your file here

or click to browse. Up to 100 GB.

You'll get a shareable link instantly

Direct upload URL

For scripts & CI. Bytes go straight to R2 — never proxied through us.

See the difference

Others make you wait. We don't.

Dropbox
24 min

to share a link

dropbox-upload.sh
$
MoonPush
1 sec

to share a link

moonpush
$

Drop your file

You

Sender

Drop file here...

Your friend

Receiver

Waiting...

How it works

Three steps. No signup. No waiting.

Step 1

Drop your file

Drag & drop or click to upload. Any file type, no size limit.

Step 2

Get link instantly

The shareable link appears before your upload even finishes. Share it right away.

Step 3

Friends download live

Your friend opens the link and sees your upload progress. Download starts automatically.

10 ways in. one link out.

Upload superpowers.

Every protocol your stack speaks — webhooks, presigned URLs, TUS, SFTP, even email. Drop a file, a folder, a URL, or pipe it in from CI. They all land at the same share link.

Try it from any stack

Connect from anywhere.

Five ready-to-paste channels. Pick the one your stack already speaks.

Upload many files in parallel. One share URL per line, ready to pipe.

cli
1
2
3
4
5
# install once (~30 lines of node, no deps)
curl -sSL https://www.moonpush.com/cli/moonpush.mjs > moonpush.mjs
 
# upload N files in parallel
node moonpush.mjs bulk *.png --concurrency=8 > urls.txt

E2E encrypted client-side. The server never sees keys.

View CLI source

Built for the way you actually work.

For agentic coding

Send a screenshot to your remote agent.

You spot a UI bug on your laptop. Drop the screenshot, paste the link in your remote terminal. Claude Code, Cursor, Codex, any agent reads the image instantly.

For shipping code

Move a zip from your laptop to a server.

No scp keys. No shared volumes. No SaaS account. One curl up, one curl down. Works through every NAT and every corporate firewall.

For sharing with humans

They download while you’re still uploading.

The share link goes live the moment your upload starts. Drop a 10 GB video, paste the link in any chat. Your friend taps it and starts downloading immediately. Auto deletes in 30 minutes.

Verified Agent-Native
View live report
0/ 100

Cloudflare Agent-Readiness Scan

A perfect 100. Every check passed.

MoonPush scored Level 5, Agent Native on Cloudflare's official scanner. That's the highest tier: discoverable by every crawler, machine-readable for every LLM, and ready for every agent-to-server protocol that exists today.

Discoverability
3 / 3

robots.txt, sitemap.xml, RFC 8288 Link headers exposing every metadata file

Content for LLMs
3 / 3

/llms.txt, /llms-full.txt, /llm.md (markdown content negotiation)

Bot Access Control
2 / 2

Wildcard bot rules + Content Signals (no AI training opt-out)

API, MCP & Skill Discovery
7 / 7

OpenAPI 3.1, MCP server-card (SEP-1649), MCP manifest (SEP-1960), A2A agent-card, Agent Skills, WebMCP, RFC 9727 API Catalog, RFC 9116 security.txt

Everything you need

Built for speed, security, and simplicity.

Instant Link

The shareable link appears the moment you drop a file. Before the upload even finishes.

Live Transfer

Your friend sees upload progress in real-time. Download starts automatically when ready.

Up to 100 GB

Any file type, up to 100 GB. Images, videos, PDFs, archives, code, binaries. No restrictions.

Auto-deletes

Files are automatically purged after 30 minutes. Zero cleanup, zero traces.

Private & Secure

Files can only be accessed with the exact link. No browsing, no listing, no guessing.

No Account Needed

Zero signup. No cookies. No tracking. Just drop a file and share the link.

AI Agent Ready

Ships with an MCP server for Claude. Point any AI agent to /llm.md for instant API docs.

CLI First

One curl command to upload. One to download. Works with wget, Python, Node, and anything that speaks HTTP.

Multi-Download

Share one link with a hundred people. Everyone downloads the same file. Refresh works too.

Three endpoints. One curl.

Encrypted at rest by default. The server forgets the key the moment it returns it to you.

POST
ciphertext at rest

/api/upload

Upload any file. Server encrypts with an ephemeral key, returns it in shareUrl#KEY, then forgets it.

curl -F "[email protected]" moonpush.com/api/upload
GET

/api/dl/{id}

Stream the bytes. Returns ciphertext for encrypted pipes. Decrypt locally with the #KEY.

curl -OJL moonpush.com/api/dl/{id}
GET

/api/share/{code}

Resolve a short share code. Returns the pipe id, file name, size, and whether it's encrypted.

curl moonpush.com/api/share/{code}

moonpush CLI true e2e

Single-file Bun/Node script. Encrypts in your terminal so the server never sees plaintext.

curl -sSL moonpush.com/cli/moonpush.mjs -o /usr/local/bin/moonpush && chmod +x $_
opt out of encryption with ?plain=true

MCP Server

Connect Claude Desktop or any MCP client to upload and download files.

Install in Claude Desktop
$ pip install "mcp[cli]"
$ git clone https://github.com/aamirmursleen/moonpush-mcp
$ claude mcp add moonpush python3 moonpush-mcp/server.py
Tools exposed
upload_fileUpload a file from disk, returns a public download link
download_fileDownload a file by ID or URL
download_shareResolve a /share/CODE#KEY link and decrypt automatically
upload_textUpload text/code as a shareable file
Discovery (no install needed)

Any modern agent can find MoonPush via standard well-known files. The homepage's Link header advertises all of them in one HEAD request.