Live progress
Speed, time left, size and percentage, with free space checked before anything is written.
Scan a QR code or type a link, and the file streams onto the SD card over verified HTTPS.
No card reader, no computer, no powering down.
Features
Speed, time left, size and percentage, with free space checked before anything is written.
A dropped connection keeps what arrived. Retry carries on from there when the server confirms the file hasn't changed.
Rename keeps both, Overwrite rolls back if anything fails, Cancel leaves it alone. A finished download is never lost to an awkward name.
Presets like sdmc:/cias/, recent folders, a browser that can make new folders, or any path you type.
HTTPS fails when the date is wrong. 3dsDL compares the console's clock with internet time and sets it for your time zone.
Off by default. Turn it on and 3dsDL offers to extract a downloaded ZIP, refusing any path that would escape its folder.
Also: history of the last 50 downloads, sleep mode paused during transfers, plain-http warnings, and QR codes that aren't links are pointed out instead of ending the scan.
Install
You need a 3DS running custom firmware (Luma3DS) with FBI or the Homebrew Launcher. Not set up yet? Follow 3ds.hacks.guide first.
Direct downloads: 3dsDL.cia · 3dsDL.3dsx · SHA-256 checksums in 3dsDL.sha256 · older versions on the releases page.
Send a link
Paste a direct link, then scan the code with Scan QR Code in 3dsDL. Much nicer than typing a long link on the 3DS keyboard.
The code is made in your browser; the link isn't sent anywhere. It has to point at the file itself, so pages that need a login, a captcha or a "click to download" button won't work.
Questions
Almost always the console's date. Open Settings → Console clock in 3dsDL: it shows the console's time next to internet time and can set it for your time zone (the HOME Menu app can; the .3dsx may not be allowed to). Rosalina can also do it: L + Down + Select → Miscellaneous options → Update time and date via NTP. The error message also says why the certificate was rejected.
3dsDL only fetches links that start with http:// or https:// and point straight at a file. Pages that need JavaScript, a login or a confirmation click won't work, because 3dsDL isn't a browser. On GitHub, use the links under a release's Assets.
To the folder shown on the home screen, sdmc:/ unless you changed it. Use Folder on the home screen or on the confirm screen to pick a preset, browse the SD card or type a path. Settings and history live in sdmc:/3ds/3dsDL/.
Choose Retry in the error dialog, or find it later under History and choose Resume. 3dsDL continues from where it stopped when the server allows it, and starts over safely when it doesn't.
It downloads anything, including CIA files, which you then install with FBI. ZIP extraction is built in: turn on Settings → Offer to extract ZIP files and 3dsDL asks after each ZIP download.
3dsDL verifies HTTPS certificates, refuses ZIP entries that would escape their folder, and never overwrites a file without asking. It is open source, every release is built by GitHub Actions from the tagged code, and checksums are published with each release.