
Optical File Transfer
Copy small files to your phone through camera - as a stream of QR images.
Paweł Wróbel · pl.pwrobel.opticalfiletransfer
UpdatedApr 23, 2026
PublishedApr 23, 2026
Packagepl.pwrobel.opticalfiletransfer
MD5f3b71e9db67ee2b3cd89b8c17022b5d5
SHA1 (signer)B5:15:55:69:7E:79:D6:C3:95:28:8E:F3:FE:A6:AC:F4:68:C1:AA:BA
Signed byCN=Pawel Wrobel, OU=Home, O=Home, L=Wroclaw, ST=Dolnoslaskie, C=PL
Architecturesx86-64, armeabi-v7a, arm64-v8a
Malware scanTRUSTED
Contact[email protected]
Privacy policyView
What's new
* New Android and Camera2 API support
* The packaged desktop HTML web app now supports download and upload
* Updated ZXing library - better QR recognition rate
* Added automatic 7z support for transferred data under the hood
* Better multithreaded support for individual QR frame recognition
* Updated file selector component with thumbnail preview generation
* Improved file sharing support
* The packaged desktop HTML web app now supports download and upload
* Updated ZXing library - better QR recognition rate
* Added automatic 7z support for transferred data under the hood
* Better multithreaded support for individual QR frame recognition
* Updated file selector component with thumbnail preview generation
* Improved file sharing support
Description
Send small files to your phone through camera - as a stream of QR images.
Features :
• Requires no WiFi, no Bluetooth/NFC, no irDA and no USB cable to transfer files
• Both wireless and offline at the same time
• Minimal setup - when in download mode, just point the camera on the stream and wait
• Generates little radio frequency noise - so can be safely used in the airplane mode on the plane (might be also useful in the military)
• Can process requests to send file from other apps in the system (like your favourite file manager app)
• Can be used to broadcast file full-screen on TV in the loop - e.x. to allow people walking by to quickly grab some small pdf guide on their phones.
Notes :
• To receive file from desktop PC - see a web version (Chrome and Firefox - IE11 not supported) : http://wrobel.wroclaw.pl/opticalfiletransfer/webuploaderjs.php
Also, windows native uploader at http://wrobel.wroclaw.pl/opticalfiletransfer/en/win/index.php or Linux uploader at http://wrobel.wroclaw.pl/opticalfiletransfer/en/lin/index.php - they are compatible with this app.
• Sending larger files is very time consuming - so this app does not intend to replace USB/WiFi/Bluetooth/NFC/IrDA way of file transmission at all.
It rathers allows to quickly grab some small pdf/text/image from the PC/phone to phone, when you do not feel like searching for
USB cable/setup Bluetooth/WiFi just for that one small file.
• It also does not guarantee that transmission will ever succeed on every phone on the default settings. How fast phone can handle capture of the stream depends on the camera/general phone performance/stream brightness/camera ability to focus.
• Default settings are likely not optimal for every phone.
• If you have problems succeeding to transfer anything on default settings, experiment with the settings - slow down with FPS/allow more errors/etc.
• If you want to speed up a little bit, you can also tweak settings a little - towards faster ones - and find what is the limit for your phone/camera.
• Transmission settings affects only QR stream producer in upload mode - receiver in download mode only fits to what it sees.
• Free version supports files up to 5MB in size.
Features :
• Requires no WiFi, no Bluetooth/NFC, no irDA and no USB cable to transfer files
• Both wireless and offline at the same time
• Minimal setup - when in download mode, just point the camera on the stream and wait
• Generates little radio frequency noise - so can be safely used in the airplane mode on the plane (might be also useful in the military)
• Can process requests to send file from other apps in the system (like your favourite file manager app)
• Can be used to broadcast file full-screen on TV in the loop - e.x. to allow people walking by to quickly grab some small pdf guide on their phones.
Notes :
• To receive file from desktop PC - see a web version (Chrome and Firefox - IE11 not supported) : http://wrobel.wroclaw.pl/opticalfiletransfer/webuploaderjs.php
Also, windows native uploader at http://wrobel.wroclaw.pl/opticalfiletransfer/en/win/index.php or Linux uploader at http://wrobel.wroclaw.pl/opticalfiletransfer/en/lin/index.php - they are compatible with this app.
• Sending larger files is very time consuming - so this app does not intend to replace USB/WiFi/Bluetooth/NFC/IrDA way of file transmission at all.
It rathers allows to quickly grab some small pdf/text/image from the PC/phone to phone, when you do not feel like searching for
USB cable/setup Bluetooth/WiFi just for that one small file.
• It also does not guarantee that transmission will ever succeed on every phone on the default settings. How fast phone can handle capture of the stream depends on the camera/general phone performance/stream brightness/camera ability to focus.
• Default settings are likely not optimal for every phone.
• If you have problems succeeding to transfer anything on default settings, experiment with the settings - slow down with FPS/allow more errors/etc.
• If you want to speed up a little bit, you can also tweak settings a little - towards faster ones - and find what is the limit for your phone/camera.
• Transmission settings affects only QR stream producer in upload mode - receiver in download mode only fits to what it sees.
• Free version supports files up to 5MB in size.
Required features
- Camera android.hardware.camera
- Faketouch android.hardware.faketouch
- Screen Portrait android.hardware.screen.portrait
Permissions (6)
Optical File Transfer requests the following Android permissions:
- Camera android.permission.CAMERA
- Foreground Service android.permission.FOREGROUND_SERVICE
- Foreground Service Camera android.permission.FOREGROUND_SERVICE_CAMERA
- Manage External Storage android.permission.MANAGE_EXTERNAL_STORAGE
- Write Settings android.permission.WRITE_SETTINGS
- Pl Pwrobel Opticalfiletransfer Dynamic Receiver Not Exported Permission pl.pwrobel.opticalfiletransfer.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION