Skip to the examples
Instant Estimate v1.0.0
Price calculator script · no dependencies

Instant Estimate

Show visitors a realistic price range and timeline in seconds — then turn that estimate into a qualified lead by email, webhook or your own contact form.

  • 0dependencies
  • 4field types
  • 5submit actions
  • LTR + RTLany language
  • Light + darkthemes
01 — Dark theme

Web design agency

USDper-page pricingrush ×1.3share linkmailto

Project type sets the base price and how many pages are included. Every extra page, feature and the rush switch changes the budget and the timeline live.

02 — Light theme

Home cleaning

GBPcard choicesdiscounts −10…20%conditional fieldwebhook

A local service with a price per visit and time on site in hours. “How often?” only appears for standard cleans, and the booking is posted as JSON to your endpoint.

03 — English print calculator

English print shop

dir="ltr"en-GB formattingGBPprice per unit by paperdays

Business cards priced per 100 with a unit price that depends on the paper. Every text, the number format and the layout direction come from the config.

Install in a minute

Three lines to embed

Upload the dist folder, add the lines below and describe your prices in a JSON file. No build step, no framework, works with WordPress, Webflow, Shopify pages and plain HTML.

HTML
<!-- in <head> -->
<link rel="stylesheet" href="instant-estimate.css">

<!-- where the calculator should appear -->
<div data-instant-estimate
     data-config="config.json"></div>

<!-- before </body> -->
<script src="instant-estimate.js" defer></script>
JavaScript API
const calc = InstantEstimate.mount('#quote', {
  currency: 'EUR', locale: 'de-DE', theme: 'light',
  fields: [ /* choice · multi · range · toggle */ ],
  actions: [{ type: 'webhook', url: '/receive.php' }]
});

calc.on('change', (result) => console.log(result.formatted.range));
calc.setState({ pages: 12, rush: true });
Built for real sites

Everything a quote form needs

  • Flexible pricing model

    Base prices, price per unit with free units, fixed add-ons and percentage multipliers. Output is a rounded min–max range.

  • Timeline & includes

    Each option can add days, weeks or hours. A live “Includes” line lists what the client gets.

  • Five submit actions

    Prefilled email, POST JSON to any webhook, fill your existing form, copy summary or copy a share link.

  • Any language, RTL

    Every text is in the config. Currency and digits follow the locale through the browser's Intl API.

  • Themeable in CSS

    Dark, light or auto presets and 25 CSS custom properties. One line changes the accent colour.

  • Accessible & responsive

    Real inputs and labels, full keyboard use, a polite live result, reduced motion support, from 320px up.