Receipts for expense tracking
The user scans a crumpled receipt, the scanner flattens and crops it, and your backend stores the file and extracts amount, date and merchant with OCR or an AI model.
Claude Code + document scanner
If your Claude Code app has a file upload, it can have a real document scanner. WebViewGold adds a Scan document entry to the native upload dialog: Apple VisionKit on iPhone and Google ML Kit on Android find the page edges, crop and enhance each page, and hand the result to your existing file input like any other upload.
From $109 one-time per platform, or let our team do it all from $698.
The user scans a crumpled receipt, the scanner flattens and crops it, and your backend stores the file and extracts amount, date and merchant with OCR or an AI model.
Multi-page scans of leases, consent forms or onboarding paperwork go straight into the client record instead of arriving by email as blurry photos.
Delivery notes, inspection sheets, handwritten work orders: crews scan on site and the office sees a clean, readable document a minute later.
The scanner hooks into every standard <input type="file">. If Claude Code already has an upload button, the scan entry appears there as soon as the setting is on.
Paste this into Claude Code to implement the web-app side. Review the result, publish, then test inside the WebViewGold app.
Prompt for Claude Code: Read https://www.webviewgold.com/docs/iOS/document-scanner/ and https://www.webviewgold.com/docs/android/document-scanner/. Then: 1) List every file upload in this repository with its accept attribute, size limit and storage destination. 2) Make document uploads accept image/*,application/pdf through a standard input type="file" and raise limits so a 5-page PDF scan fits (20 MB). 3) Validate type and size on the server and store files in private object storage with per-user access and short-lived download links. 4) Add a test that uploads a multi-page PDF fixture and asserts it is stored and processed. 5) When navigator.userAgent contains my custom WebViewGold token, show the hint "Choose Scan document for a clean copy". 6) Draft the camera purpose string and the App Privacy and Data safety entries for stored documents. 7) Note in CLAUDE.md that the scanner is enabled natively and needs no JavaScript.

With a good optimized version of your web app you can have a stunning mobile app within a couple of minutes. Additionally to that the customer service is very nice and very helpful! I can just recommend WebViewGold :-)
Half an hour, including a test on two phones.
iOS: var kVisionKitEnable = true in Config.swift. Android: ENABLE_ML_KIT_DOCUMENT_SCANNER = true in Config.java. Set either one to false to hide the entry again.
Android returns a PDF of up to 5 pages per scan, and the upload dialog adapts its entries to the input's accept attribute. Use something like accept="image/*,application/pdf" and make sure your upload code and storage accept application/pdf.
A multi-page scan is larger than a profile photo. Check the size limits of your upload route and storage bucket, and show progress while the file travels over mobile data.
The scanner uses the camera, so the camera usage description should mention documents, for example "to scan receipts and attach them to your expense reports".
iOS needs iOS 18.4 or later and a device that supports the VisionKit document camera; elsewhere the entry hides itself. Android needs Google Play Services. Simulators and emulators are not a realistic test.
| iOS | Android | |
|---|---|---|
| Scanner | Apple VisionKit document camera | Google ML Kit Document Scanner |
| Setting | kVisionKitEnable in Config.swift | ENABLE_ML_KIT_DOCUMENT_SCANNER in Config.java |
| Entry in the upload dialog | Scan Document, next to Camera and Photo Library | Scan document, next to the photo, video and gallery entries the accept attribute allows |
| What your input receives | The finished scan, like any uploaded file | A PDF, up to 5 pages per scan |
| Requirements | iOS 18.4 or later on a supported device | Google Play Services |
| Built in | Edge detection, cropping, enhancement, additional pages | Edge detection, cropping, enhancement, additional pages, gallery import |
Works for photos, scans and PDFs, in the browser and in the app. Point /api/documents at your upload route; for your Claude Code app that lives in: Your own API routes, serverless functions or Supabase.
// <input type="file" id="doc" accept="image/*,application/pdf">
document.getElementById("doc").addEventListener("change", async function (e) {
var file = e.target.files && e.target.files[0];
if (!file) return;
var isPdf = file.type === "application/pdf" || /\.pdf$/i.test(file.name);
if (file.size > 20 * 1024 * 1024) { showError("That scan is too large. Try fewer pages."); return; }
var form = new FormData();
form.append("file", file, file.name || (isPdf ? "scan.pdf" : "scan.jpg"));
showStatus("Uploading " + (isPdf ? "document" : "photo") + "…");
var res = await fetch("/api/documents", { method: "POST", body: form });
showStatus(res.ok ? "Saved. We are reading it now." : "Upload failed. Please try again.");
});Usually not. Every standard file input gets the scan entry once the setting is on. Check that the input accepts PDF as well as images, because Android returns a PDF, and that your upload limit allows multi-page files.
On Android a PDF with up to 5 pages per scan. On iOS the VisionKit scan arrives through the same file input; accept both images and PDFs and test the result on a device before you build anything that depends on the format.
The scanner captures, crops and enhances the pages. Reading the text is up to your backend: send the uploaded file to an OCR or AI extraction service on the server and store the result next to the document.
The iOS entry needs iOS 18.4 or later and a device that supports the VisionKit document camera. On other devices it is hidden automatically and users still see Camera and Photo Library.
No. VisionKit is part of iOS and the ML Kit Document Scanner runs through Google Play Services, so there are no per-scan fees. Costs only appear if you send the files to a paid OCR or AI service.
Same result, different amount of work on your side. All three come with the approval guarantee and 24/7 human support.
$109 per platform, one-time
The WebViewGold license: a finished Xcode or Android Studio project. Paste your URL, set name and icon, switch on features, build and submit. Free updates forever.
See plans on the main page$349 per license, one-time add-on
No Mac, no Xcode, no Android Studio: configure in the browser, we build both apps in the cloud and hand them to App Store Connect and the Play Console.
How the Cloud Builder works Try the free demo$698 per platform $798
Send us your URL and icon. Our team configures, builds and delivers your app within 72 hours, white-label, with source projects. Both platforms for $1,158.
Full Service details Powered byWinter Sale prices valid until December 31, 2026.
App Store & Google Play approval guarantee – or your money back within 14 days
Rather hand it over? Full Service: we configure, build and deliver within 72 hours, from $698 per platform. Questions? Chat with us 24/7.
Refunds are granted under the conditions listed in our FAQ: a non-content rejection by Apple and/or Google, claimed within 14 days after purchase.