SMALL TOOLS. LESS FILE FUSS.

Your files.
Your control.

URLtoFile is a collection of focused PDF, image, and document tools for everyday tasks: putting documents together, resizing a photo, or choosing a more useful file format.

Processing happens in your browser

The PDF, image, and document tools listed on this site read the files you select on your device. They do not upload file contents to a conversion server. Conversion libraries load with the site and run locally. Fonts are hosted with the website.

Batch image downloader

Direct public image URLs are sent to our server, which retrieves supported images without login cookies. Images pass through temporarily and are not stored in Blob. Format conversion and ZIP generation run on your device. Source URLs, images and ZIP files are not persisted by the tool; hosting and source websites may retain request logs. Avoid confidential URLs.

Website to PDF

URL mode sends your public HTTPS address to our server, which retrieves HTML without your login or cookies. No website content or PDFs are saved in Blob. We return reading text; PDF creation happens on your device. Pasted-text mode stays local. Hosting and destination websites may retain request logs. Avoid confidential URLs. We do not bypass paywalls or execute website scripts.

Whiteboard drafts and sharing

The whiteboard keeps up to five recent local drafts, including imported images, in IndexedDB on your device. Independent tabs use separate draft identities. Opening a recent draft creates a copy. Starting a new board keeps the earlier draft until the five-draft limit evicts it. Clear this site’s browser storage to remove local drafts. Save an editable board file if you need a backup. Optional collaboration sends board content to approved participants over encrypted browser connections. No images, drawings or board files are stored in Vercel Blob. The server stores a random invitation ID, host connection ID, host public key, expiry, hashed management token, hashed network lock and storage-budget metadata. Your browser retains the management secret so you can end the invitation after a refresh. Participant cursor positions use the same encrypted connection and are not retained in board files. Invitations expire after two hours, with one free 30-minute extension per session. The countdown is visible to the host and approved guests. Expiry stops the connection and leaves local board data available to save, edit or share in a new session; metadata is removed on expired access or scheduled cleanup. The free PeerJS signaling service and Google and Cloudflare STUN services exchange connection information, including network addresses, to establish the connection. Board content travels directly between approved browsers. No board relay or TURN transport is used. Failed setup retries up to three times; some routers and firewalls still prevent direct connections. Connection help shows the setup state. Participants can save their own copies, which cannot be revoked by ending the session.

URL shortener storage

The URL shortener sends your destination URL to our server. The server stores the destination, expiry, approximate click count, a hashed deletion token, and a hashed network rate-limit key. Your browser stores the secret management token. Links stop redirecting after 120 minutes, plus one optional free 30-minute extension; you can terminate yours at any time before expiry. Expired active records are deleted on access or by bounded scheduled cleanup. Backups follow hosting retention policies. Do not use short links for confidential destinations.

Peer Room

The separate Peer Room tool connects five people total, including the host, for two hours. Every participant can send files directly to approved room members. The host coordinates a signed membership list; guest-to-guest files do not pass through the host. Files and file names never reach our safety API. Each participant registers a temporary public key and connection ID using the existing signed safety-ticket system. Display names are shared with room members and are not verified identities. Free PeerJS signaling and public STUN services exchange connection information; peers may learn network addresses. No file relay is used, and some networks cannot connect. Five outgoing deliveries and five incoming files can run per person; remaining accepted deliveries wait. The deadline is strict, with no extension. Keep all pages open and awake, including the host. End stops unfinished files. Checked copies remain available in the open tab until saved or removed, and saved copies cannot be revoked. Small downloads use bounded browser memory; supported desktop browsers can write larger files directly to your chosen disk location. Reporting uses a signed receipt from the actual sender and the same private, hashed-network abuse records described below.

Direct file sharing

Your file travels directly to approved recipients over encrypted WebRTC connections. File contents are never uploaded to our APIs or saved in Blob. A small safety API receives temporary connection IDs, public keys and signed session tickets to check expiry and abuse blocks. Normal session setup does not write invitation records to Blob. The signed link carries temporary connection details in its fragment. Either connected person can add 30 minutes for free, once per two-hour session. Sender private keys remain in memory. Free PeerJS signaling and Google STUN services exchange connection information, and connected peers may learn each other's IP address. No relay is configured; restrictive networks may fail. Keep both devices awake and both pages open. Stop sharing closes all active connections; saved copies cannot be revoked. Invited only means the sender approves guest-supplied names, not verified accounts. We cannot see or scan files for malware or unlawful content. Share only with people you know. Admitted recipients can report concerns. We privately store a keyed hash of the sender network, up to five distinct reporting-network hashes, session IDs, reasons, short optional notes and timestamps. Raw IP addresses and shared files are absent from these records; hosting access logs remain separate. Two counted reports warn the host, five pause file sharing from that network. Reports are allegations. Shared networks may affect unrelated users; use feedback or contact us for review. Blocks and report records remain until operator review, subject to a 100 MB cap inside our combined 2 GB budget. Website measurement removes invitation fragments and query values.

Anonymous feedback

Feedback is optional. We store only the message you submit, its category, the page path without query strings or invitation fragments, and creation/expiry timestamps, plus storage accounting. We do not add your name, email, IP, country, browser details, board contents or files to the feedback record. Do not include private information in your message. Reports expire seven days after submission and are removed by bounded scheduled cleanup; hosting backups follow provider retention. They are stored in private Blob storage and are not publicly readable. Separate private protection records hold daily rotating, keyed network references and message fingerprints to limit repeated submissions. They contain no raw IP addresses or message text. These references reset each UTC day and expired records are removed by bounded scheduled cleanup. People using the same network share a limit of three messages per hour and five per day. Feedback has its own request allowance and a 500 MB application budget inside our combined 2 GB storage cap. Busy cleanup queues can delay deletion of expired records. These limits protect capacity; they do not guarantee protection against all abuse.

Short-link permissions

Anyone with the link opens immediately. Ask for permission hides the destination until its creator allows your browser. Visitor names are self-reported, not verified identities. A private temporary record holds your name, request status, a hashed browser token and a hashed network reference. An HttpOnly cookie keeps access in the requesting browser. We allow up to five requests per network and up to 20 requests per link to limit misuse. Records expire with the link. This cannot secure a destination someone already knows or take back an address already opened.

Your country / region flag

The flag uses Vercel’s approximate country/region request header. We do not request GPS or send the address to an external geolocation service, and the flag lookup is not stored in our database. You can choose another flag or a neutral globe; that preference stays locally. The flag does not identify your nationality, resolve territorial claims, or indicate where servers hold URL or feedback metadata.

What gets saved?

Your original file is unchanged. A result is held in your browser until you save it or leave the page. Download the result if you want to keep it. Clearing files releases the generated download link. The application saves your chosen color theme locally, and does not keep a file history. If you choose to continue in another tool, a one-use copy is temporarily saved in this browser and deleted when that tool receives it. Unused transfers expire after 10 minutes and are cleared on the next transfer. Passwords are never included.

Website requests

Your browser still contacts the website host to load pages, fonts, and code. The host may keep ordinary access logs, such as request time and IP address. The site includes Vercel Analytics and Speed Insights for website usage and performance measurement. Selected file contents are not sent to those services.

Popularity and download counts

We use aggregated Vercel page views to publish weekly tool rankings and retain those weekly totals. The first download-button click on a tool page is counted separately; it does not confirm a file save. At that point, supported tools also send capped counts of generated outputs, processing failures and cancellations from that page. Only pages reaching a download are included, so these totals cannot measure all failed visits or a site-wide success rate. Checked transfers and awaited disk saves are separate event definitions and are counted only where an actual observation supports them. To reduce duplicate counts, our server uses a daily rotating hash of the network address and tool, with capped event identifiers. Raw network addresses, filenames, document contents, and short-link destinations are not included in these counters. Deduplication data is cleared daily; aggregate counts are retained. Download counting respects Do Not Track and Global Privacy Control.

Practical limits

File size, page count, and image dimensions are limited to keep browser processing manageable. Very large or damaged files may fail, particularly on devices with limited memory. Password-protected PDFs can be opened in the unlocker with the existing password, then sent back to a PDF tool. PDF page operations may not preserve bookmarks, interactive forms, or digital signatures. Always check your output before relying on it.

Operator & contact

URLtoFile is operated and maintained by UrlToFile Dev. For support, bug reports, privacy questions, or feedback, email urltofiledev@gmail.com.

When reporting a problem, include the tool name, your browser, and what happened. Please do not email passwords or confidential files.

The website is hosted on Vercel. Video conversion and social media downloading are not part of this tool directory.

Explore the tools →

Your country / region

The flag reflects approximate network location, not nationality or where your files are stored. VPNs and travel can change it. Choose another flag or a neutral globe.

Your display choice stays on this device. We use Vercel’s country header; no GPS or third-party location lookup.

Help make this tool better

Report a problem, suggest a feature or tell us what could work better. No name or email needed.

0 / 2000

Sent: your message, type, page path and time. No board, files, name, email, device details or IP is included in the stored report. Please leave out personal details, passwords and private links. Hosting services still handle normal network requests.

Reports expire after 7 days and are eligible for scheduled deletion. Busy cleanup queues can take longer. No public feedback list.