A transfer link going dark is not the same as your code being deleted. WeTransfer holds recoverable transfers in a restorable state after the link stops working, and Ultimate subscribers have a clear path back, whether they are the sender or the person who received the link.
Get your expired files back
Source files, repositories, and scripts represent hours of careful work, and hitting an expired link when you need them is a gut-punch moment worth investigating before you give up. WeTransfer treats link expiry and permanent deletion as separate events, so the code behind a dead transfer is often still sitting on WeTransfer's servers in a recoverable state. WeTransfer Ultimate subscribers can restore expired transfers directly from the Transfers panel, a route that also covers transfers originally sent while on a Free or Starter account. Someone who received the transfer and still has the original expired link may also be able to start a recovery from the expired download page when logged in with an eligible plan. Free and Starter users cannot self-restore after a link expires, but an expired link alone is not confirmation that files have been permanently removed.
Our features are designed to minimize how much of your data we — or anyone else — can access, so you can keep what's yours, yours.
30M+ Transfers sent every month
4.8 App Store / Play Store average rating
12M+ Monthly active users
43K+ Enterprises using WeTransfer daily
Give people simple tools, and they'll do extraordinary things. Ultra-fast file transfers, built-in customization, easier team collaboration. That's the magic of WeTransfer.

Move your ideas forward
Share content with a unique link, give anyone a free pass to send you 200 GB files, and stay in control of transfers — even after you hit send.

Collaboration tools for teams of all sizes
With tools designed to enhance collaboration, get everyone in your team talking and moving as one, without disrupting their workflow.

Share with confidence and security
From password protection to file encryption, WeTransfer has all the built-in security features you need to safeguard your work.
All your questions answered.
Not necessarily. WeTransfer separates link expiry from permanent file deletion, and by default transfers are marked as recoverable, meaning the files often remain on WeTransfer's servers in a restorable state after the link stops working. Free and Starter users cannot self-restore, but the files are not instantly wiped the moment a link expires. Upgrading to Ultimate within the retention window may still make those source files recoverable without a re-upload.
On WeTransfer Ultimate, go to your Transfers panel, find the expired transfer, and look for a Recover or Restore option. If the transfer was sent with recoverability on, which is the default, and you are still within the retention window, the option will be there. This works even for transfers sent before you upgraded to Ultimate, so older code transfers from a Free or Starter period may already be restorable once your plan changes.
If you still have the original expired link, you may be able to start a recovery from the expired download page itself when you are logged in with a plan that includes recovery, such as WeTransfer Ultimate. This extends the download window again without the sender needing to re-upload anything. If you are on a Free or Starter account, you cannot trigger a restore this way, but reaching out to the sender to check if they can recover it from their Transfers panel is worth doing.
WeTransfer handles any file type, so you can send ZIP archives of full repositories, individual source files in formats like .js, .py, .ts, .css, .html, .json, and .yaml, as well as compiled binaries, configuration files, and design-to-dev handoff assets. Files are transferred without any compression or re-encoding, so everything arrives exactly as it left your machine. Recovery through WeTransfer Ultimate applies to any of these file types as long as the transfer was sent with recoverability on and is still within the retention window.
Yes. WeTransfer Ultimate lets you set a custom expiry on any transfer, including the option to keep it active indefinitely so the link never goes dark on its own. That is useful for sharing builds, handoff packages, or documentation with collaborators who may need access over a long project. You can also adjust the expiry on an active transfer at any time from the Transfers panel before it lapses.