PixelHold Documentation
The complete guide to using PixelHold.io - your ultimate developer tool for generating custom, dynamic image placeholders with text overlays.
What is PixelHold?
PixelHold is a powerful image placeholder service designed for developers and designers. Unlike generic placeholder services that only offer solid colors, PixelHold allows you to:
- ✓ Upload custom images (JPG, PNG, WebP up to 2MB)
- ✓ Export to 5 formats: PNG, JPG, WebP, AVIF, SVG
- ✓ Generate solid color placeholders with any HEX color
- ✓ Resize images from 10x10 to 4000x4000 pixels
- ✓ Smart cropping with custom focal point positioning
- ✓ Retina/HiDPI support for crisp 2x resolution output
- ✓ Transparent PNG support with alpha channel
- ✓ Overlay dynamic text with 13 Google Fonts
- ✓ Drag & drop text positioning in real-time preview
- ✓ Custom font size, color, and alignment options
-
✓
Clean URL API - just use
/800x600.png - ✓ ShareX integration with 4 pre-configured profiles
- ✓ Live preview before generating final image
- ✓ History panel to quickly access previous images
- ★ Gradient backgrounds - linear & radial with multiple colors (VIP)
- ★ Image filters - blur, grayscale, sepia, pixelate, brightness, contrast (VIP)
- ★ Watermarks with tiling, rotation & opacity control (VIP)
- ★ QR code generator - embed QR codes directly in images (VIP)
- ★ Text effects - rotation (±180°), outline/stroke (VIP)
- ★ Color overlay layer with adjustable opacity (VIP)
1 Quick Start Guide
Step 1: Create a Solid Color Placeholder
The simplest way to use PixelHold - just specify dimensions in the URL:
https://pixelhold.io/800x200
Tip: Add file format at the end (e.g., .svg, .png, .jpg, .webp) to specify output format.
Step 2: Add Custom Text
Add text overlay using the ?text= parameter:
https://pixelhold.io/800x200.svg?text=Hello+World
Step 3: Add Background and text color
Add text color using &color= and Background to image with &bg= parameter:
https://pixelhold.io/800x200.svg?text=Hello+World&color=aa4895&bg=1e293b
Step 4: Upload Your Image
For custom backgrounds, upload an image through the main app. You'll receive a unique ID:
https://pixelhold.io/img/4ba25111081ce37e0e0930b02df3c357.png/800x200.svg?text=Your-Blog-Title&color=f6c649&size=59
Tip: The image will be automatically resized and cropped to fit the specified dimensions. Original Image size: 1600x1025px. Practice: Try to change size of image in a generated URL to 800x513 ;)
Interface Overview
Left Sidebar - Controls
- Source: Upload images (drag & drop supported)
- Typography: Text, font family, and size
- Colors: Text color and background color
- Output Settings: Width, height, format, retina
- VIP Features: Premium effects (requires VIP)
Main Area - Canvas
- Live Preview: Real-time preview of your image
- Drag Text: Click and drag to reposition text
- Drag Image: Pan the image crop position
- History Panel: Access recent links (right side)
Pro Tip: Drag & Drop
You can drag the text overlay directly on the canvas to position it anywhere. The position is saved as percentage coordinates (tx, ty) in the URL. Similarly, you can drag the image to adjust the crop focus point (cx, cy).
Uploading Images FREE
Supported Formats & Limits
Auto-Size Feature
Enable Auto-Size toggle to automatically set the output dimensions to match your uploaded image's original size.
Text Overlay FREE
Text Positioning
Text can be positioned using alignment presets or custom coordinates:
| Method | Parameters | Description |
|---|---|---|
align |
left, center, right | Horizontal alignment |
valign |
top, middle, bottom | Vertical alignment |
tx, ty |
0-100 (%) | Custom X/Y position (overrides align) |
align=left
align=center
align=right
Sizing & Formats FREE
Image Dimensions
Specify dimensions in the URL path. Maximum size is 4000x4000 pixels.
/800x600.png
Standard rectangular image
/500x500.jpg
Perfect for avatars/thumbnails
Retina Support: Add ?retina to generate 2x resolution images for high-DPI displays.
Common Size Presets
Use the "Common Sizes" dropdown in the sidebar to quickly set dimensions for popular platforms. Select a preset and width/height will be automatically filled.
- Facebook Post:
1200×630 - Instagram Square:
1080×1080 - Instagram Story:
1080×1920 - Twitter/X Post:
1200×675 - LinkedIn Post:
1200×627 - Pinterest Pin:
1000×1500
- Facebook Cover:
820×312 - Twitter Header:
1500×500 - LinkedIn Banner:
1128×191 - YouTube Channel:
2560×1440
- Facebook:
180×180 - Instagram:
320×320 - Twitter/LinkedIn:
400×400 - YouTube:
800×800 - TikTok:
200×200
- YouTube Thumb:
1280×720 - HD Video:
1920×1080 - Vimeo Thumb:
1200×900
- OG Image:
1200×628 - Hero Banner:
1920×600 - Blog Thumb:
800×450 - Card Image:
600×400
- Email Header:
600×200 - Google Medium:
300×250 - Leaderboard:
728×90 - Skyscraper:
160×600
- Favicon:
32×32 - Apple Touch:
180×180 - PWA Icon:
512×512
- Full HD:
1920×1080 - 2K / QHD:
2560×1440 - iPhone 14:
390×844
Tip: All sizes are official platform specifications. The selected preset stays visible in the dropdown so you can see which size is currently applied.
Output Formats
Append the format extension to the URL. Each format has its advantages:
Lossless compression. Best for graphics and screenshots.
Lossy compression, smaller file size. Best for photos and complex images.
Modern format, excellent compression. Best for web performance.
Vector format, infinite scaling. Text stays crisp at any size.
Next-gen format, superior compression. Limited browser support.
Legacy format, 256 colors max. Use for simple graphics only.
Colors & Fonts FREE
Available Fonts
PixelHold includes 13 carefully selected Google Fonts for professional typography:
font=inter
font=lato
font=montserrat
font=poppins
font=opensans
font=raleway
font=oswald
font=playfair
font=lora
font=merriweather
font=ptsans
font=slabo
font=andika
Color Format
Colors are specified as 6-character hex codes (without the # symbol):
?color=FF5733&bg=1E293B
FF5733
6366F1
10B981
F59E0B
URL API Reference
URL Structure
// Solid color mode
https://pixelhold.io/{WIDTH}x{HEIGHT}.{FORMAT}?{PARAMS}
// With uploaded image
https://pixelhold.io/img/{IMAGE_ID}/{WIDTH}x{HEIGHT}.{FORMAT}?{PARAMS}
// VIP uploaded image
https://pixelhold.io/vip/{IMAGE_ID}/{WIDTH}x{HEIGHT}.{FORMAT}?{PARAMS}
Basic Parameters
| Parameter | Type | Default | Description | Example |
|---|---|---|---|---|
WIDTH |
Integer | 600 | Output width in pixels (10-4000) | 800 |
HEIGHT |
Integer | 400 | Output height in pixels (10-4000) | 600 |
FORMAT |
String | png | Output format: png, jpg, webp, svg, avif | .jpg |
text |
String | WxH | Overlay text (use - or + for spaces) | ?text=Hello-World |
color |
Hex | FFFFFF | Text color (6 chars, no #) | ?color=FF5733 |
bg |
Hex | CCCCCC | Background color (solid mode only) | ?bg=1E293B |
font |
String | lato | Font family key | ?font=montserrat |
size |
Integer | auto | Font size in pixels | ?size=80 |
retina |
Flag | - | Enable @2x resolution | ?retina=1 |
download |
Flag | - | Force file download | ?download=1 |
Advanced Parameters
| Parameter | Type | Description | Tier |
|---|---|---|---|
align |
String | Horizontal text alignment: left, center, right | Free |
valign |
String | Vertical text alignment: top, middle, bottom | Free |
tx, ty |
Integer | Custom text X/Y position (0-100%) | Free |
cx, cy |
Integer | Custom crop focus point (0-100%) | Free |
text wrap |
Boolean | Enable word wrapping for long text | Free |
text maxwidth |
Integer | Max width for wrapped text (20-100%) | Free |
text angle |
Integer | Text rotation (-180 to 180 degrees) | VIP |
outline |
Integer | Text outline/stroke width (0-10px) | VIP |
outline color |
Hex | Text outline color | VIP |
filter |
String | Image filter: grayscale, sepia, blur, edge, emboss, sketch, pixelate, negate | VIP |
brightness |
Integer | Brightness adjustment (-100 to 100) | VIP |
contrast |
Integer | Contrast adjustment (-100 to 100) | VIP |
watermark |
String | Watermark text (max 50 chars) | VIP |
gradient |
String | Gradient type: linear or radial | VIP |
gradient colors |
String | Hex colors (e.g., FF0000) | VIP |
qr |
URL | Embed QR code with URL (max 500 chars) | VIP |
overlay opacity |
Integer | Color overlay opacity (0-100%) | VIP |
overlay color |
Hex | Overlay color (default: 000000) | VIP |
Code Examples
</> HTML
<img
src="https://pixelhold.io/img/abc123.jpg/1200x630.jpg?text=Featured+Article&font=playfair&size=80"
alt="Featured Article"
loading="lazy"
/>
R React / JSX
function ProductCard({ title, imageId }) {
const imageUrl = `https://pixelhold.io/img/${imageId}/400x300.webp?text=${encodeURIComponent(title)}`;
return (
<img src={imageUrl} alt={title} className="rounded-lg" />
);
}
P PHP
<?php
$imageId = 'abc123.jpg';
$title = 'My Blog Post';
$url = "https://pixelhold.io/img/{$imageId}/1200x630.jpg?text=" . urlencode($title);
?>
<img src="<?= htmlspecialchars($url) ?>" alt="<?= htmlspecialchars($title) ?>">
# CSS Background
.hero-section {
background-image: url('https://pixelhold.io/img/411b7538b196.jpg/1920x1080.webp');
background-size: cover;
background-position: center;
}
VIP Premium Features
How to Get VIP Access
VIP features are unlocked when you donate to support the project. After donating, you'll receive an API Key via email. Enter this key in the app header to unlock all premium features or use ShareX / custom php uploader.
Watermarks VIP
Add a repeating diagonal watermark pattern across your images. Perfect for protecting previews or adding branding.
| Parameter | Range | Default | Description |
|---|---|---|---|
watermark |
String (max 50) | - | Watermark text |
watermark_opacity |
0-100 | 30 | Opacity percentage |
watermark_angle |
-90 to 90 | -45 | Rotation angle |
watermark_spacing |
50-500 | 200 | Gap between repetitions (px) |
watermark_color |
Hex | 000000 | Watermark color |
Image Filters VIP
Apply visual effects to your images using the filter parameter:
filter=grayscale
filter=sepia
filter=blur
filter=edge
filter=emboss
filter=sketch
filter=pixelate
filter=negate
Gradient Backgrounds VIP
Create beautiful gradient backgrounds without uploading an image:
Linear Gradient
Radial Gradient
Overlay Layer VIP
Apply a semi-transparent color overlay on top of your images. Perfect for darkening backgrounds, creating tinted effects, or adding mood to your visuals.
| Parameter | Value | Description |
|---|---|---|
overlay_opacity |
0-100 | Opacity of the color overlay (0 = off, 100 = fully opaque) |
overlay_color |
Hex color | Color of the overlay (default: 000000 / black) |
Use Cases
- • Darken hero images for better text readability
- • Add brand color tints to photos
- • Create moody, cinematic effects
- • Simulate duotone or filtered looks
Text Effects VIP
VIP users can apply special effects to text overlays for more dynamic and creative images.
| Parameter | Value | Description |
|---|---|---|
text angle |
-180 to 180 | Rotate text by specified degrees |
outline |
0-10 | Outline stroke width in pixels (0 = off) |
outlinen color |
Hex color | Color of text outline (default: 000000) |
Rotated Text
Text with Outline
QR Code Generator VIP
Embed QR codes directly into your images:
| Parameter | Range | Default | Description |
|---|---|---|---|
qr |
URL (max 500) | - | URL to encode in QR |
qr_size |
50-500 | 150 | QR code size in pixels |
qr_x |
0-100 | 50 | X position (%) |
qr_y |
0-100 | 50 | Y position (%) |
Client Uploader VIP
The PixelHold Client Uploader is a powerful standalone PHP application you can host on your own server. It provides a complete professional interface for uploading images, generating URLs, managing code patterns, and creating reusable templates.
How to Get the Client Uploader
The Client Uploader PHP file is provided together with your VIP API key upon donation. You'll receive the file pre-configured with your personal API key, ready to deploy on your server!
Upload Zone
- ✓ Drag & Drop - Simply drag images or click to browse
- ✓ Auto-Size Toggle - Automatically match dimensions to uploaded image
- ✓ Format Support - JPG, PNG, WebP (max 2MB)
- ✓ Instant Copy - Filename auto-copied to clipboard on upload
- ✓ API Status - Real-time connection indicator
Visual Playground
- ✓ Quick Presets - Instagram, Facebook, Twitter, YouTube, LinkedIn
- ✓ Custom Dimensions - Any width/height combination
- ✓ Format Selection - SVG, JPG, PNG, WebP output
- ✓ Text Overlay - With variable picker for dynamic content
- ✓ Live URL - Generated URL with one-click copy
Pattern Manager
10 pre-built patterns included:
- ✓ Create custom patterns with variable support
- ✓ Languages: HTML, React/JSX, PHP, CSS, Markdown
Variables & Templates
- ✓ Custom Variables - Create {AUTHOR}, {DATE}, {PROJECT}, etc.
- ✓ Templates - Save complete configurations for reuse
- ✓ Export/Import - Share templates as JSON files
- ✓ Color Palettes - Save, apply, and manage color schemes
- ✓ localStorage - All settings persist automatically
Technical Requirements
with cURL extension
from donation
Apache, Nginx, LiteSpeed
Vue 3 powered UI
Upload API VIP
POST
Upload images programmatically using multipart form data.
| Field | Type | Required | Description |
|---|---|---|---|
image |
File | Yes | Image file (JPG, PNG, WebP - max 2MB) |
api_key |
String | VIP | Your VIP API key (also accepts X-API-KEY header) |
Response
{
"success": true,
"id": "abc123def456.jpg",
"url": "https://pixelhold.io/img/abc123def456.jpg/800x600.jpg",
"uploads_remaining": 59,
"limit_daily": 60
}
cURL Example
curl -X POST https://pixelhold.io/ \
-H "X-API-KEY: your_api_key" \
-F "image=@/path/to/image.jpg"
Donate & VIP Access
Support the Project
PixelHold serves over 15,000 requests daily. Your donation helps keep the servers running, the code maintained, and the coffee brewing. Monthly supporters get VIP access with premium features.
VIP Benefits
- ✓ 60 uploads/day (vs 3 for free)
- ✓ Watermarks & image filters
- ✓ Gradient backgrounds
- ✓ Text effects (rotation, outline)
- ✓ QR code generator
- ✓ ShareX & Client Uploader access
Monthly Costs
Servers, bandwidth, domain, SSL, and development time. Every donation helps!
Sponsorship & Advertising
Want to promote your product, service, or brand on PixelHold? We offer sponsorship spots visible to thousands of developers daily. Your ad appears in the header navigation area of the main application.
Interested in Sponsoring?
Contact us at [email protected] to discuss sponsorship options, pricing, and availability. We offer flexible terms for monthly, quarterly, or annual sponsorships.
Sponsorship Template Styles
Choose from 4 different sponsorship display styles to match your campaign:
Standard
Classic sponsored badge with your message. Clean and professional.
Coupon Code
Highlight a discount code or special offer. Great for conversions.
Feature / Premium
Modern gradient style with glow effect. Maximum impact.
Ready to reach thousands of visitors?
Contact us at [email protected]Report a Bug
Found something that isn't working correctly? We appreciate bug reports! Please include as much detail as possible.
What to include in your report:
- • Steps to reproduce the issue
- • Expected vs actual behavior
- • URL or API call that caused the problem
- • Browser/device information (if applicable)
- • Screenshots or error messages
Frequently Asked Questions
How long are uploaded images stored?
Images are stored indefinitely for VIP users. Free uploads may be cleaned up after 90 days of inactivity.
What's the maximum image size?
Maximum upload size is 2MB. Output dimensions can be up to 4000x4000 pixels.
Can I use PixelHold in production?
Yes of course! Our CDN ensures fast global delivery.
What if I need more than 60 uploads/day?
Contact us at [email protected] for enterprise plans with custom limits.
I donated but didn't receive my API key!
API keys are sent within 24 hours. If you haven't received yours, email us at [email protected].
How can I sponsor PixelHold or advertise my product?
We offer sponsorship spots in our application header visible to thousands of developers daily. Contact us at [email protected] to discuss options, pricing, and availability. See the Sponsorship section for template examples.
Troubleshooting
Error: "Invalid API key"
Make sure you're using the correct API key. Keys are case-sensitive and should not include quotes or extra spaces.
Error: "Rate limit exceeded"
Free users: 3 uploads/day. VIP users: 60 uploads/day. Limits reset every 24 hours. Consider upgrading to VIP for higher limits.
Images not loading / showing old version
Images are cached for 30 days. Add a cache-busting parameter like ?v=2 to force a refresh.
VIP features not working
Make sure your API key is entered in the app header and shows "VIP Active" status. VIP features require an active subscription/donations.
Legal & Privacy
Disclaimer
PixelHold acts solely as a technical facilitator for image processing. We do not monitor, endorse, or assume liability for images uploaded by users. The responsibility for any content displayed via our service lies entirely with the website or application embedding such content.
Terms of Service
- GDPR Compliance: We respect your privacy. Uploaded images are stored for processing and caching. We do not sell or share user data.
- Prohibited Content: You may not upload content that is illegal, offensive, or violates intellectual property rights.
- Service Availability: This service is provided "as is" without warranties. We reserve the right to limit or terminate access.
- Liability: We are not liable for damages arising from the use or inability to use this service.
Contact
For support, advertising, or business inquiries: [email protected]