Clean, responsive pricing tables for service packages and tiers. No dependencies, mobile responsive, accessible.
Standard pricing table with a featured/recommended plan.
<div data-tradecalcs-pricing>
<div data-pricing-plan data-featured="true">
<div data-plan-name>Professional</div>
<div data-plan-price>$99<span data-price-period>/month</span></div>
<div data-plan-description>Best for growing teams</div>
<div data-plan-features>
<div data-feature>Feature 1</div>
<div data-feature data-unavailable>Feature 2</div>
</div>
<a href="#" data-plan-cta>Get Started</a>
</div>
</div>
Pricing table for one-time or annual payments.
For businesses with just two service tiers.
Customized colors using CSS variables to match brand identity.
<div data-tradecalcs-pricing
style="--tc-pricing-accent: #10b981;
--tc-pricing-accent-hover: #059669;
--tc-pricing-bg: #f0fdf4;">
<!-- plans -->
</div>
Step 1: Add the CSS and JavaScript files to your HTML:
<!-- Add to <head> -->
<link rel="stylesheet" href="/widgets/pricing-table.css">
<!-- Add before closing </body> -->
<script src="/widgets/pricing-table.js"></script>
Step 2: Add your pricing table HTML:
<div data-tradecalcs-pricing>
<div data-pricing-plan>
<div data-plan-name>Basic</div>
<div data-plan-price>$29<span data-price-period>/month</span></div>
<div data-plan-description>Perfect for beginners</div>
<div data-plan-features>
<div data-feature>Feature 1</div>
<div data-feature>Feature 2</div>
<div data-feature data-unavailable>Feature 3</div>
</div>
<a href="/signup" data-plan-cta>Get Started</a>
</div>
</div>
Note: Replace d790a6cc.tradecalcs.pages.dev with tradecalcs.com once the production domain is configured.
data-tradecalcs-pricing (required) — Main containerdata-pricing-plan (required) — Individual plan carddata-featured="true" (optional) — Marks plan as recommended/featureddata-plan-name (required) — Plan name (e.g., "Professional")data-plan-price (required) — Price (e.g., "$99")data-price-period (optional) — Billing period (e.g., "/month")data-plan-description (optional) — Short descriptiondata-plan-features (optional) — Features list containerdata-feature (required for features) — Individual featuredata-unavailable (optional) — Marks feature as unavailable (crossed out)data-plan-cta (required) — Call-to-action button--tc-pricing-bg — Plan card background--tc-pricing-border — Plan card border color--tc-pricing-text — Primary text color--tc-pricing-text-muted — Secondary text color--tc-pricing-accent — Accent color (CTA button, featured badge)--tc-pricing-accent-hover — Accent hover color--tc-pricing-featured-bg — Featured plan background--tc-pricing-featured-border — Featured plan border--tc-pricing-unavailable — Unavailable feature color--tc-pricing-gap — Gap between plans--tc-pricing-padding — Plan card padding--tc-pricing-radius — Border radius// Initialize all pricing tables manually
TradeCalcsPricing.init();
// Initialize specific pricing table
const element = document.querySelector('[data-tradecalcs-pricing]');
TradeCalcsPricing.initElement(element);
// Check if user prefers reduced motion
if (TradeCalcsPricing.prefersReducedMotion()) {
console.log('User prefers reduced motion');
}
// Listen for initialization
element.addEventListener('tc-pricing-initialized', function(e) {
console.log('Pricing table initialized', e.detail);
});
Works in all modern browsers:
Our Network
Built by Cali Dream Construction · CSLB #1054602
Need a custom calculator for your trade business? We'll get back to you within 24 hours.