PWA Manifest Generator - Online Create app.webmanifest
Fill in your PWA details to generate a valid manifest.json file. Include icons, theme color, display mode.
UD5 Toolkit
Control how your PWA launches when users click links. Configure client_mode,
test launch behavior visually, and generate production-ready manifest configurations.
Drag or click to reorder — browser tries each mode in sequence:
Define path patterns for different launch behaviors:
| Browser | Support | Version | Notes |
|---|---|---|---|
| Chrome | Full Support | 98+ | All client_mode values + route_to (110+) |
| Edge | Full Support | 98+ | Same as Chromium |
| Opera | Full Support | 84+ | Chromium-based |
| Samsung Internet | Partial | 20+ | Basic client_mode support |
| Firefox | Not Supported | — | No launch_handler implementation |
| Safari | Not Supported | — | No PWA launch handling |
Data as of 2024. For the latest, check Can I Use or Chrome Developers.
Prevent multiple player instances. Clicking a song link focuses the existing player window instead of opening a new one.
Reuse the open chat window and navigate to the new conversation. Keeps only one app instance.
Allow multiple documents open simultaneously. Each link opens a fresh window for side-by-side editing.
Route product links to existing window, but open help/support links in new windows for comparison.
launch_handler field in your manifest.json.
You can also specify an array like ["focus-existing", "navigate-new"] for fallback behavior.
Add the launch_handler field to your manifest.json:
{
"name": "My App",
"start_url": "/",
"display": "standalone",
"launch_handler": {
"client_mode": "focus-existing"
}
}
For advanced routing (Chrome 110+), use route_to with pathname patterns. Use the configuration generator above to build your manifest interactively.
launch_handler field is simply ignored, and the browser falls back to its default launch behavior. This makes it safe to include as a progressive enhancement. Check the compatibility table above for detailed version information.
route_to (available in Chrome 110+) allows you to define URL-path-based rules for different launch behaviors. Each rule has a pathname pattern (using simple glob matching with *) and a corresponding client_mode. Optionally, you can specify a target_url to redirect the launch to a different URL.
Example pattern: /play/* matches /play/song/123 but not /playlist. The * wildcard matches any sequence of characters within a path segment.
launch_handler configurations. The app must have a valid manifest with display set to standalone, fullscreen, or minimal-ui and be installed by the user.
localhost).chrome://launch-handler internal testing).client_mode setting.scope in your manifest defines which URLs are considered "within" your PWA. Launch Handler only applies to URLs that fall inside your app's scope. If a user clicks a link outside your scope, the browser handles it normally. Ensure your scope is correctly set (defaults to the directory of start_url) for Launch Handler to work as expected.
Fill in your PWA details to generate a valid manifest.json file. Include icons, theme color, display mode.
Learn how to register your PWA to handle custom URL protocols. See the manifest entry and test.
See the View Transitions API in action. Cross‑fade and morph between two states. Copy the JavaScript starter code.
Apply a Proxy to an object and see the get/set traps log fired in real time. Understand metaprogramming. Local.
Schedule tasks with user‑visible, user‑blocking, or background priority. See execution order and delays. Modern web perf.
Limit browser gestures on an element: pan‑x, pinch‑zoom, manipulation. Draw on a canvas to test. Mobile dev helper.
Write JavaScript using element.animate() and see the result in a live preview. Compare with CSS keyframes. Debugger included.
List cached responses for your domain. View headers, content, and delete individual entries. Understand your PWA's cache.
See your current page load broken down into DNS, TLS, request, and DOM phases. Understand where time is spent.
See your current page load broken down into DNS, TLS, request, and DOM phases. Understand where time is spent.
Paste GeoJSON and instantly see it drawn on a draggable map. Supports points, lines, and polygons. Local fetch of tiles.
See exact dimensions of your current browser inner/outer window, screen resolution, and pixel ratio. Developer debug.
Create promises that resolve or reject after a delay. See state changes and chain .then/.catch. Debug async code.
Build <link> tags for preload, prefetch, preconnect, and dns‑prefetch. Improve page load speed with correct priorities. Copy the optimized HTML.
Run a CPU‑heavy calculation (e.g., prime numbers) in a Web Worker and see the UI stay responsive. Code snippet provided.
Calculate daily/monthly/yearly electricity cost of any appliance based on wattage, hours used, and your kWh rate. Compare multiple devices. Fully offline.
See how many tabs you have open and estimate memory usage based on navigator object. Fun productivity check.
Define the initial scroll position for a scroll container with scroll‑start. Test with and without snapping. New feature.
Adjust root, margin, and threshold. See a live log of intersection events as you scroll. Debug lazy loading.
Write or paste HTML, CSS, and JavaScript and instantly see the rendered output in a sandboxed iframe. A handy frontend prototyping tool.
Select a runtime (Node.js, Python, Go) and generate a basic, optimized Dockerfile with multi‑stage build. Copy and refine.
Calculate large Fibonacci numbers in a Web Worker. See the UI remain responsive. Copy the pattern for your app.
Enter income, pay frequency, and expected deductions to estimate your tax refund or balance due. Simplified model.
Open a modal and see how focus is trapped and restored. Copy the lightweight focus‑trap code. Accessible pattern.
Create a custom soap recipe by selecting oils and their percentages. Get precise lye and water amounts. Safety warnings included.
A beautiful full‑screen drawing canvas with variable brush sizes, colors, and an eraser. Export your sketch as PNG. All data stays local.
Render the classic Stanford Bunny with a basic WebGPU pipeline. Rotate and zoom. Check if your browser supports WebGPU.
Pick a random icebreaker question or activity for remote meetings. Never start a meeting awkwardly again.
Log how many times you've passed clay through the pasta machine. Ensure thorough conditioning without guesswork.
Count bubbles per minute to estimate fermentation activity and approximate sugar consumption. Simple conversion.