MakeACopy
MakeACopy is an open-source document scanner app for Android that allows you to digitize paper documents with OCR functionality. The app is designed to be privacy-friendly, working completely offline without any cloud connection or tracking.
Features
- Camera Scanning: Capture documents using the device camera
- Edge Detection: Automatic document edge detection using OpenCV, enhanced with an ONNX model (DocAligner)
- Perspective Correction: Adjust and crop documents with manual or automatic perspective correction
- Image Enhancement: Apply filters (grayscale, contrast, sharpening)
- OCR: Offline text recognition with Tesseract
- PDF Export: Save as searchable PDF with recognized text
- JPEG Export: Export scans as high-quality JPEG images (configurable quality, color/BW)
- Multi-page Scanning: Combine multiple pages into one document; reorder and manage pages before export
- Last Scans: Quickly access and reuse your most recent scans
- Share & Save: Export locally or share with other apps
- Dark Mode: Material 3 theme with day/night support
- Privacy-Focused: 100% offline functionality, no internet connection required
OCR Languages
MakeACopy supports offline OCR using Tesseract. You can select the language during the OCR step.
- English (
eng
)
- German (
deu
)
- French (
fra
)
- Italian (
ita
)
- Spanish (
spa
)
- Chinese (Simplified) (
chi_sim
)
- Chinese (Traditional) (
chi_tra
)
- Russian (
rus
)
- Thai (
tha
)
Besides the optional Language-Pack APKs, you can also add the original Tesseract best models from the official repository: tessdata_best. See the Tesseract project at github.com/tesseract-ocr/tesseract.
Language-Pack APK: MakeACopy OCR Latin (Best) – includes high-accuracy models for English (eng), German (deu), French (fra), Italian (ita), and Spanish (spa). Download from the Language-Pack release page.
Note: For Chinese, the app includes suitable CJK fonts to improve PDF text rendering.
Screenshots
How to Use
- Scan Document: Open the app and tap the scan button to capture a document
- Adjust Corners: Fine-tune the detected document edges
- Crop & Enhance: Apply the crop and enhance the image if needed
- OCR Processing: The app will recognize text in the document
- Export & Share: Save as PDF or share with other apps
Privacy
MakeACopy is designed with privacy in mind:
- No internet connection required
- No server requests or telemetry
- OCR processing happens locally on your device
- Required permissions: Camera, File Storage
- No third-party connections
For more details, see our Privacy Policy.
Installation
F-Droid
MakeACopy is available on F-Droid: f-droid.org/packages/de.schliweb.makeacopy.
For F-Droid compliance, all native components are built from source: OpenCV native libraries (from the
external/opencv
submodule) and ONNX Runtime (XNNPACK and NNAPI, Java bindings) from
external/onnxruntime
. The resulting libraries are integrated into the app during the build; no prebuilt
binaries are stored in the repository.
GitHub Releases
You can download the latest APK from the Releases page.
APK Verification
To verify the authenticity of MakeACopy releases, compare the signing certificate fingerprint below with the output of
apksigner
or AppVerifier
.
SHA-256
- Upload key (GitHub / F-Droid / sideload APKs)
AE:32:2D:3F:B7:1A:FE:21:DF:47:27:E3:7A:5C:68:03:51:1D:5A:2F:E1:FC:31:35:43:0C:EE:06:99:FA:1B:34
- Google Play App Signing key (Play Store releases)
C0:71:44:39:CB:51:62:32:A4:47:91:7A:6F:C2:28:1E:45:FA:AA:DD:37:F8:30:B1:01:1F:B4:85:68:8E:0D:64
Verification Commands
# Using apksigner (from Android SDK build-tools)
apksigner verify --print-certs MakeACopy-vX.Y.Z.apk
# Using AppVerifier (https://github.com/soupslurpr/AppVerifier)
appverifier verify MakeACopy-vX.Y.Z.apk
❤️ Support this project
MakeACopy is free and open source. If you find it useful, please consider supporting development:
FAQ
Scanning (Camera)
- The image is blurry / text is hard to read
- Ensure sufficient lighting; avoid dim, warm ambient light.
- Hold the device steady or brace it.
- Trigger autofocus by tapping the relevant area in the viewfinder (if available).
- Increase the distance slightly and crop later — being too close can make focusing harder.
- Strong shadows or reflections
- Light the document evenly from multiple sides.
- Avoid direct light sources that cause glare (e.g., on glossy paper).
- Place the document on a matte, high-contrast background.
- The image is too dark/bright
- Improve the lighting.
- Use the flash only if needed — it can cause reflections.
- Distorted perspective
- Shoot as straight-on and parallel to the document surface as possible.
Edge Detection
- Document borders are detected incorrectly
- Ensure good contrast between the document and the background (e.g., light paper on a dark table).
- Flatten the paper (no waves/creases) and align it straight.
- Avoid shadows that could be interpreted as edges.
- No automatic detection
- Retake the shot with better lighting.
- Use manual corner adjustment after the scan to move points.
- Result is skewed or cropped
- After automatic detection, check all four points and adjust them manually if needed.
OCR (Text Recognition)
- OCR barely recognizes any text
- Make sure the correct language is selected.
- Scan in good quality: sharp, sufficient light, low noise.
- Avoid very small text — fill more of the page or scan closer (without blur).
- Wrong language / accents are not recognized
- Choose the appropriate OCR language in the app.
- For higher accuracy in Latin languages, install the Language Pack: MakeACopy OCR Latin (Best) (Play Store link above on this page).
- Mixed languages in the document
- If possible, scan sections separately per language.
- Alternatively, choose the primary language; mixed text can reduce recognition accuracy.
- Handwriting is not recognized
- Tesseract is primarily designed for printed text; handwriting is only recognized to a limited extent.
- Better results with clear, print-like handwriting; otherwise consider manual transcription.
- OCR rotation/orientation is wrong
- Rotate the image to the correct orientation before OCR (0°, 90°, 180°, 270°).
- Ensure clear horizontal text lines without strong perspective distortion.
- Search in the PDF does not work
- Check whether the selected language was correct; the wrong language produces mismatched recognized text.
- Alternatively, you can export the OCR text separately as a TXT file.
More questions? Please open an issue: github.com/egdels/makeacopy/issues.
License
MakeACopy is licensed under the Apache License 2.0.
Copyright 2025 Christian Kierdorf
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.