QRServ - HTTP File Transfer

89 reviews
Content rating
Everyone
10K+
Downloads
Content rating
Everyone
Learn more
Screenshot image
Screenshot image
Screenshot image
Screenshot image
Screenshot image
Screenshot image
Screenshot image

About this app

QRServ takes any selected files on your device and makes them available through its own HTTP server at an unused port number. The selected files can then be downloaded via web browser on another device and/or software that allows file downloads over HTTP from QR codes.
Devices involved would need to be on the same network (i.e. access point, tethering [no mobile data required], VPN [with a supported configuration]).

- QR Code
-- Tap to show the URL in a tooltip
-- Press and hold to copy the URL to the clipboard
- Share sheet
-- Share the download URL via the system share sheet
-- Import files via the system share sheet from other apps
-- Sharing text with the app creates a text file to share
- Shows live import progress, whether for a single file or multiple
- Multi-file selection
-- Bundled into a ZIP archive
-- Press and hold the archive's filename to see the originally selected files in a tooltip
- Direct Access Mode -- serves the file directly from storage instead of copying it into app cache first, ideal for large files
-- Single file selection only
-- To use this feature on Android 11 or later, use the GitHub version (link is in-app under the 'about' dialog and later on in the description) -- please note that the Play Store version needs to be uninstalled first as it would be signed using a different certificate
-- Toggle-able in settings
- Detects if the selected file is removed while being served, or modified (Direct Access Mode only)
- Show or hide the filename in the download URL
- Notifies when a client requests or finishes downloading the file, including their IP address
- Resumes interrupted downloads in supported software
- Choose which network interface's IP address to serve from -- the server only listens there unless set to listen on all interfaces
- Switches to another IP address if the selected one disappears, and suggests better ones as they appear
- Private hotspot (Android 13 or later) -- shares over a Wi-Fi network the app creates, reachable only by devices you let join
-- Scan a Wi-Fi QR code to join, or enter the network name and password by hand
-- Switch an ongoing share to or from the private hotspot without selecting the file again
-- Chooses 5 GHz for faster transfers on Android 16 or later (not all devices support 5 GHz or choosing the band)
- Keeps sharing while the app is in the background, with a notification to stop sharing
- Stops sharing when idle (10 minutes by default, adjustable)
- HTTP server binds to a random free port by default, or a user-configured one
- In-app theme selection
- Supports various languages: English, French, German, Hungarian, Italian, Polish, Portuguese, Spanish, Russian, Turkish, Persian, Hebrew

Permission usage:
- android.permission.INTERNET -- Collection of available network interfaces and port binding for the HTTP server
- android.permission.READ_EXTERNAL_STORAGE -- Read-only access to emulated, physical SD card(s) and USB mass storage
- android.permission.FOREGROUND_SERVICE and android.permission.FOREGROUND_SERVICE_CONNECTED_DEVICE -- Keeping the HTTP server (and private hotspot) running while the app is in the background
- android.permission.POST_NOTIFICATIONS -- The ongoing notification shown while a file is being shared, with the option to stop sharing
- android.permission.WAKE_LOCK -- Keeping the device awake while a download is in progress, so it isn't stalled by the screen turning off
- android.permission.CHANGE_WIFI_STATE -- Creating and stopping the private hotspot
- android.permission.NEARBY_WIFI_DEVICES -- Creating the private hotspot (Android 13 or later). Not used to find or locate devices
- android.permission.ACCESS_WIFI_STATE -- Checking whether the device can host a hotspot while staying connected to Wi-Fi
- android.permission.ACCESS_NETWORK_STATE -- Noticing when the device's IP addresses change while sharing, so the QR code can follow

QRServ is open source.
https://github.com/uintdev/qrserv
Transfer files with ease over a network.
Updated on
Sep 28, 2026

Data safety

Safety starts with understanding how developers collect and share your data. Data privacy and security practices may vary based on your use, region, and age. The developer provided this information and may update it over time.
  • No data shared with third parties
    Learn more about how developers declare sharing
  • No data collected
    Learn more about how developers declare collection

Ratings and reviews

88 reviews
Ali Fleih
May 13, 2024
Super, super fast file sharing! Not as intuitive to use as other apps, but what matters to me the most is speed, and I can handle things as ease of use. I highly recommend this app for anyone doing local network sharing of big files. It works like magic!
Did you find this helpful?
Ravi Halajole
February 26, 2024
Hi there , Thanks for this app. Can you pls remove file copying to data folder. You can make a toggle to on / off . Its just a suggestion. While transfering big files it consumes more time though. Edit: Thank You :)
1 person found this review helpful
Did you find this helpful?
uintdev
February 26, 2024
Hi. This should be addressed as of the 2.2.0 release, with the addition of direct access mode. This can be optionally used by pressing the SD card button (which would toggle said mode).
SirDella
August 9, 2023
It would be better if I could choose the port, and be able to download multiple files individually instead of making a zip file
Did you find this helpful?

What’s new

- Added private hotspot sharing (Android 13+)
- Keeps sharing in the background, with a notification
- Interrupted downloads can be resumed
- Stops sharing when idle (default 10 min)
- Server only listens on the selected IP by default
- Warns when an always-on VPN may block other devices
- Switches or suggests IPs as they change
- Changing language keeps the file selection
- Fixed Hebrew language
- Fixed handling of a port already in use
- Refined import screen UI

See GitHub for more changes.
Content rating
Everyone
Learn more

App support

About the developer
Andre Cristiano Santos
core@uint.dev
United Kingdom