Push Notification Builder — FCM, APNs, Web
Build push notification JSON payloads for FCM, APNs, or Web Push with title, body, icon, and badge fields.
How it works
- 1Configure your options above
- 2Click "Build Payload" — processing happens in your browser
- 3Copy or download the result
What to do next
About Push Notification Builder
Push Notification Builder is part of a collection of single-purpose developer utility tools. Build push notification JSON payloads for FCM, APNs, or Web Push with title, body, icon, and badge fields. Each tool is intentionally narrow — it does one thing well rather than offering many overlapping features — which makes the common path predictable and the result easy to verify before you download or copy it.
Common audiences for Push Notification Builder include devops engineers crafting one-liners and QA engineers writing repro cases, but plenty of people land on the page through a one-off search and never come back — that is also fine. The tool is built to be useful even when you only ever need it once.
Push Notification Builder is shaped for the gap between "I'll do it by hand" and "I'll script it." When the job is small enough that automating it would take longer than doing it, but annoying enough to want a focused tool — that is the situation this page is built for.
The processing pipeline is straightforward: your input is parsed by standard browser APIs, transformed according to the options you select, and serialised back into a downloadable result. The 0 MB per-file ceiling matches what a typical browser tab can handle without paging to disk.
Push Notification Builder is structured so the question "where is my file processed?" has a single answer: in your browser tab. The engine, the controls, and the result panel are all on one page. Navigating away or closing the tab clears the page's memory the way it does for every other tab.
Push Notification Builder is intentionally narrow in what it does, which makes it easy to slot into a longer workflow. Take its output, hand it to whichever next tool fits the job, and Push Notification Builder stays out of your way until the next time you need it.
On limits: 0 MB per file is the ceiling. Output formats and quality settings are listed in the controls panel above, and they apply to every run.
The transformation in Push Notification Builder is deterministic — the same input plus the same options produces the same result every run. That predictability matters when the result has to match an upstream specification or be reproducible later.
Output handling is intentionally boring: Push Notification Builder produces a single output file and triggers your browser's standard "save" behaviour. If you have a default download folder configured, that is where it will land. There is no Favtoo-side history of jobs you have run.
Push Notification Builder is structured around the idea that a useful tool should be its own page. Open the page, do the work, close the tab — the page is the entire product. There is no onboarding flow because there is nothing to onboard into.
Push Notification Builder runs as a regular web page, so there is no install step or permission grant before the first run. The page can be audited by viewing the source or by watching the developer-tools Network tab while a job runs.
Pro tip: Push Notification Builder works just as well in a private/incognito window as in a normal one, which is occasionally useful when you want zero browser-history footprint of the job. Another tip: if the tool ever feels slow, it is almost always because the browser tab is competing for CPU with another tab — pausing or closing the heavy ones gives the engine room to work.
If the result is not what you expected, the most common causes are easy to check. Confirm the input is under the 0 MB ceiling — files just above the cap fail silently because the engine refuses to allocate the buffer. Confirm the input is one of the supported formats. And if the page itself feels slow, try closing other heavy tabs to free up memory; the engine runs in your browser, so it competes for the same resources as everything else open.
If Push Notification Builder solved your problem, sharing the page link with someone who has the same problem is the most useful thing you can do. The catalog grows mostly through word of mouth; visitors arriving through a recommendation tend to be the ones the tool serves best.
How it works
- 1Land on the Push Notification Builder page. The tool is ready to use the moment the page renders.
- 2Drop a developer file onto the upload area, or click to pick one from your device.
- 3Tweak the controls if the defaults are not quite right for your input. The options are kept short and labelled in plain language.
- 4Hit the run button. standard browser APIs does the work in your browser tab.
- 5Save the output when it is ready.
- 6Repeat the process for additional inputs whenever you need to. The page stays loaded, so subsequent runs are quick.
Common use cases
- Generate boilerplate from a single specification line using Push Notification Builder.
- Compare two API responses to spot a regression.
- Hash a string for a quick reproducibility check.
- Pretty-print a minified blob during incident triage.
- Generate a quick fixture without leaving the browser.
- Inspect a payload during local development without writing a script.
- Format a noisy log line into something a teammate can read.
- Validate a config blob before pushing to staging.
- Encode binary content for transport in a JSON body.
FAQ
Does it send notifications?
No — it generates the JSON payload. You still need a server or CLI to send it.
FCM v1 API?
The FCM format follows the v1 messaging structure with notification and data fields.
Rich notifications?
Add image URLs in the body or extend the JSON manually for media attachments.
Private?
Yes — payloads are built in your browser.
Topic messaging?
Add a "topic" field manually to the generated JSON for FCM topic targeting.
Sound customization?
APNs includes "default" sound; change it to a custom sound filename in the output.
Can I self-host Push Notification Builder for my team?
Push Notification Builder is a static page running an open-source engine in your browser, so a typical corporate firewall does not get in the way as long as it allows JavaScript to load from Favtoo. For teams that need to host it themselves on an internal network, the underlying engine (standard browser APIs) is open-source and can be packaged into a private build with the same behaviour. Reach out via the Contact page if that is something you are exploring.
Are there any restrictions on using Push Notification Builder at work?
Push Notification Builder can be used for personal and commercial work alike — there is no separate "business" licence to purchase. The output you generate is yours to use however you want, including in client deliverables, internal documents, or commercial products. Favtoo's only ask is fair, individual use; the tool is not designed to be embedded as a backend service or wrapped behind an API for resale.
Does Push Notification Builder work with screen readers?
Push Notification Builder uses native HTML controls wherever possible, which means keyboard navigation, focus rings, and screen-reader labels work the way the platform expects. The drop zone accepts files via the keyboard-accessible file picker as well as drag-and-drop, and result downloads use standard browser download flows. If you spot an accessibility gap, Favtoo treats it as a bug worth fixing.
Are jobs run with Push Notification Builder stored anywhere?
Favtoo keeps no copy of your file because Favtoo never receives your file. Push Notification Builder runs entirely in your browser, the input is held only in your tab's memory, and closing the tab discards it. There is no opt-in cloud history, no "recent jobs" panel synced to an account, and no server-side retention to configure — the architecture simply has nowhere for your file to be stored.
How often is Push Notification Builder updated?
Push Notification Builder is updated whenever the underlying engine releases an improvement or a bug fix. Because the tool is delivered as a static page, every visit fetches the latest version automatically — there is no "version" to manage on your end. If a particular release ever changes default behaviour, the change is documented on Favtoo's changelog so you can confirm what shifted.
Is there a programmatic version of Push Notification Builder?
Push Notification Builder is a browser-only tool by design and does not expose a hosted API. The reason is the same as the privacy story: there is no Favtoo backend doing the work, so there is no service to call. If you need to script the same transformation, the underlying engine (standard browser APIs) is open-source and can be used directly from your own code.
Why did Push Notification Builder reject my input?
Failures usually fall into one of three buckets: the input is in an unsupported format, the input is over the size cap, or the input is structurally malformed (a truncated download, a partial export, or a stream the engine does not recognise). The first two are easy to confirm — check that your file is in a supported format and that it is below 0 MB. For the third, opening the file in its native viewer first is the fastest way to confirm the source is intact.
Can I use Push Notification Builder offline?
Once the page is loaded, Push Notification Builder can complete jobs without an active internet connection — the engine is bundled with the page, so there is no per-job network call. The initial page load does require a connection (to fetch the static assets), but after that you can disconnect entirely and the tool will still work. This is a side-effect of the local-first architecture, not a deliberate "offline mode" feature.
Can I process multiple files at once with Push Notification Builder?
Push Notification Builder processes one input at a time by design — it keeps memory usage predictable on lower-end devices and makes results easier to verify. To handle a folder, run the tool once per file; the page stays loaded between runs and remembers your last-used settings, so the second run is essentially instant.