FAQ - Frequently Asked Questions
Common questions about PreviewFile.dev features, pricing, security, and technical implementation.
General Questions
What is PreviewFile.dev?
PreviewFile.dev is a secure file preview service that generates short-lived, customizable preview links for 110+ file formats. Share PDFs, Office documents, images, videos, and more without exposing original URLs or requiring downloads.
→ Learn more in Getting Started
Which file formats are supported?
We support 110+ formats including:
- Documents: PDF, DOCX, PPTX, XLSX, TXT, MD
- Images: JPG, PNG, GIF, WebP, SVG, TIFF
- Videos: MP4, WebM, MOV, AVI
- Code: JS, Python, Java, Go, and 50+ languages
- Archives: ZIP, RAR, 7z, TAR
→ See complete list in Supported Formats
How does the pricing work?
- Free: 100 previews/month, 15-minute TTL
- Pro: 10,000 previews/month, custom watermarks, 24-hour TTL
- Team: 100,000 previews/month, white-label, SSO
- Enterprise: Unlimited, SLA, dedicated support
→ Compare plans in Pricing
Technical Questions
How do I generate a preview link?
Use the REST API to create preview links programmatically:
curl -X POST https://previewfile.dev/api/u \
-H "x-api-key: $API_KEY" \
-d '{"url": "https://example.com/file.pdf", "ttlMinutes": 60}'→ Full guide in API Documentation
Do you store my files?
No. We only cache metadata and thumbnails.
→ Read about our architecture in Security Policies
Can I use this for sensitive documents?
Yes. Enable these security features:
- Time-limited links: Auto-expire after 5 minutes to 24 hours
- Watermarks: Add custom text overlays
- No-download mode: Prevent file downloads
- One-time links: Expire after first access
→ Explore all options in Security Policies
What happens when a link expires?
Expired links show a "Link Expired" error page. The preview metadata is automatically deleted from our database, and any cached thumbnails are purged within 1 hour.
Can I embed previews in my app?
Yes. Use <iframe> with the preview URL:
<iframe src="https://previewfile.dev/p/abc123"
width="100%" height="600px"></iframe>Team plans support domain whitelisting to restrict where embeds work.
→ API details in API Documentation
Security Questions
Is my original URL exposed?
No. Recipients only see the short preview URL (e.g., previewfile.dev/p/abc123). The original file URL is never visible in the browser or network logs.
How do watermarks work?
Watermarks are rendered client-side using Canvas/GPU overlays. You can customize text, positioning, and opacity. Team plans support custom fonts and logos.
→ Configuration guide in Security Policies
Can I restrict access by IP or referrer?
Yes (Team+ plans). Configure:
- IP whitelisting: Only allow specific IPs
- Referrer restrictions: Block hotlinking
- User-Agent validation: Prevent automated scraping
→ Advanced controls in Security Policies
Are you GDPR/HIPAA compliant?
Enterprise plans include:
- Data processing agreements (DPA)
- Audit logs for all access events
- Regional data residency options
- SOC 2 Type II certification
Contact sales for compliance documentation.
Product Questions
What's the difference between Free and Pro?
| Feature | Free | Pro |
|---|---|---|
| Monthly previews | 100 | 10,000 |
| Max TTL | 15 minutes | 24 hours |
| Custom watermarks | ❌ | ✅ |
| Download control | ✅ | ✅ |
| One-time links | ✅ | ✅ |
→ Full comparison in Pricing
Can I white-label the preview pages?
Yes (Team+ plans). Customize:
- Custom domain (
preview.yourdomain.com) - Branded header/footer
- Custom CSS themes
- Remove "Powered by PreviewFile" footer
Contact sales for white-label setup.
Do you offer API rate limiting?
Yes. Rate limits by plan:
- Free: 100 requests/hour
- Pro: 1,000 requests/hour
- Team: 10,000 requests/hour
- Enterprise: Custom limits
Exceeded limits return HTTP 429 with Retry-After header.
→ API reference in API Documentation
Can I get usage analytics?
Yes. Dashboard shows:
- Total previews generated
- Most viewed files
- Geographic distribution
- Format breakdown
- Expiration patterns
Team plans include CSV export and webhook notifications.
Integration Questions
Which languages do you support?
We provide examples for:
- JavaScript/Node.js, Python, Java, C#, Go
- Rust, PHP, Ruby, Swift, Kotlin
→ Code samples in API Documentation
Can I use this with AWS S3 / Google Cloud?
Yes. Generate signed URLs from your storage provider, then pass them to PreviewFile:
const s3Url = await getSignedUrl(s3Client, getObjectCommand);
const preview = await fetch('/api/u', {
body: JSON.stringify({ url: s3Url })
});Ensure signed URLs are valid for longer than your preview TTL.
Do you have SDKs?
Official SDKs coming soon. Currently use standard HTTP clients with the REST API.
→ Request SDK in GitHub Discussions
Can I self-host this?
Enterprise plans include on-premise deployment options with Docker/Kubernetes manifests. Contact sales for licensing.
Troubleshooting
Why is my preview showing "Unsupported Format"?
- Verify file extension matches MIME type
- Check if format is in Supported Formats
- Ensure origin URL is publicly accessible
- Try re-uploading with correct MIME type
Preview link returns 404
Common causes:
- Link expired (check
expireAttimestamp) - One-time link already accessed
- Invalid short URL (check for typos)
Video/audio preview not working
Ensure:
- File is in supported codec (H.264/AAC recommended)
- Origin server sends correct
Content-Typeheader - CORS headers allow cross-origin access
- File size < 500 MB for optimal performance
→ Report issues in GitHub Issues
Billing Questions
How are previews counted?
Each successful preview generation (HTTP 200) counts as one preview. Failed requests (4xx/5xx) are not counted.
Can I upgrade mid-month?
Yes. You're charged pro-rated for the remaining days, and limits increase immediately.
What payment methods do you accept?
- Credit/debit cards (Visa, Mastercard, Amex)
- PayPal (Team+ plans)
- Invoice/ACH (Enterprise only)
Do you offer discounts for nonprofits?
Yes. Nonprofits and educational institutions get 50% off Pro/Team plans. Contact sales with proof of status.
Still have questions?
- 📧 Email: [email protected]
- 💬 Discord: Join our community
- 🐦 Twitter: @previewfile
- 📖 Documentation: Browse all docs