Privacy-first wallpaper preview and fitting for Apple devices.
Wallpect helps you compose an image for a selected Apple device, inspect likely system obstructions, and export it at the profile's exact pixel dimensions. Image decoding, editing, preview, and export all happen inside your browser—there is no image upload endpoint, account, or third-party image analysis.
| Inspect | Compose | Export |
|---|---|---|
| Check aspect ratio, cutouts, Safe Area, Lock Screen, menu bar, and Dock guides. | Drag, zoom, pan, rotate, fill, fit, or extend an image against a device preview. | Download PNG, JPEG, or WebP at the selected profile's physical pixel dimensions. |
- 74 profiles: 27 iPhone, 20 iPad, and 27 Mac/display profiles, covering every requested display family introduced from 2021 through July 2026
- Local PNG, JPEG, and WebP decoding, limited to 30 MB, 12,000 px on the longest edge, and 72 megapixels
- Portrait and landscape compositions stored independently for each device
- Solid, transparent, or blurred-extension backgrounds
- Shared transform and Canvas rendering calculations for preview and export
- Responsive desktop and mobile workspaces
- Traditional Chinese by default, with Simplified Chinese and English options
- Offline app-shell caching after the first production visit
- Explicit accuracy levels for published, derived, and estimated device data
- Open wallpect.k-y.cc.
- Use the bundled sample or choose an image from your device.
- Select a device profile and orientation.
- Adjust the composition and enable the guides you want to inspect.
- Choose PNG, JPEG, or WebP and export at the displayed resolution.
Your image stays in browser memory and is released when it is replaced, the page is refreshed, or the page is closed. Only the selected locale and up to four recent device identifiers are saved in versioned localStorage. Normal requests for public site files still pass through Cloudflare, but they do not contain your selected image bytes.
The website provides directly accessible Traditional Chinese and English privacy, terms, disclaimer, and data-source notices. Maintenance and third-party source/API rules are documented in the Terms, Privacy, and Data Policy.
Wallpect separates published display facts from geometry that must be measured or derived:
- The selected profile defines the export pixel dimensions and aspect ratio.
- Device frames and system overlays are composition guides, not official Apple renderings.
- Profiles declare an accuracy level; the initial data set is intentionally marked
high, notverified, because much of the obstruction geometry is derived. - iOS, iPadOS, and macOS may still apply system-level zoom, extension, depth, or fill behavior.
See the accuracy policy for the complete definition and reporting requirements.
Requirements: Node.js 22 or newer and npm.
git clone https://github.com/kyeunga25/wallpect.git
cd wallpect
npm ci
npm run devRun the core quality checks:
npm run check
npm run format:check
npm run worker:checkThe Playwright suite additionally covers Chromium, WebKit, Microsoft Edge, and Firefox:
npm run test:e2eSet PLAYWRIGHT_BASE_URL to run the same browser matrix against a deployed Workers preview or the production app.
Wallpect is deployed as an assets-only Cloudflare Worker with Static Assets. The Worker owns wallpect.k-y.cc as a Custom Domain. A push to main triggers a production Workers Build; non-production branches create preview versions without changing production traffic. Production rollback uses Workers version history; no Cloudflare Pages project is required.
See the deployment guide for platform settings and the release guide for the version, validation, preview, production, and rollback checklist.
| Path | Responsibility |
|---|---|
src/components |
Editor panels, controls, and device preview UI |
src/state |
Editor state, per-device transforms, and preferences |
src/core |
Fitting, transforms, validation, Canvas rendering, and export |
src/data/devices |
Data-driven Apple device profiles outside the UI |
src/i18n |
Locale selection, persistence, and translations |
tests |
Unit, integration, and end-to-end coverage |
Preview and export both call renderWallpaper. Pan offsets use the target canvas's normalized coordinate space, so a scaled preview and full-resolution export preserve the same composition.
- Accuracy policy
- Device profile guide
- Deployment guide
- Release guide
- Legal, privacy, and data policy
- Changelog
Issues and focused pull requests are welcome. Read CONTRIBUTING.md before changing device data, rendering behavior, or privacy-sensitive code.
Wallpect is available under the MIT License.
Wallpect is an independent tool. It is not affiliated with or endorsed by Apple Inc. Apple product names are used only to identify compatible device profiles.
Device specifications are manually curated from linked public manufacturer support pages. Wallpect does not use an Apple or third-party device-data API at runtime and does not scrape or mirror Apple website content. See the Terms, Privacy, and Data Policy for the detailed limitations and data-governance gate.

