Total control over Shopify shipping rates.Your rules. Your logic. Your way.

Write custom shipping rules in JavaScript, test them on real Shopify checkouts, and show accurate options every time.

Not technical? We'll set it up for you for free.

Built for merchants and developer partners
Available on the Shopify App Store
Built specifically for Shopify merchants.
JSShipping logic editor
Test payloads built in
Test runs in the editor
⭐

Trusted by Shopify merchants and their developers

Built for teams who need reliable custom rates at checkout.

Shopify Plus-friendlyEdge-case readyDeveloper-friendly

Proof in numbers

Proven on real Shopify stores

Built to handle heavy checkout traffic with accurate, dependable shipping rates.

1.5M+

Monthly checkout & API shipping rate requests processed.

99.9% uptime

Reliable rate delivery for Shopify checkouts, even during peak traffic.

2+ years

Trusted by Shopify stores for over 2 years.

Why JsRates

Built for complex Shopify shipping setups

Shipping logic that matches how your store really works, with full control over custom rules.

Flexible JavaScript rates for merchants and dev agencies who need precision.

What is JsRates?
  • JsRates is a Shopify shipping-rate app that lets you customise your shipping rules using simple JavaScript.
  • It gives you full control over complex shipping rules.
What can I build?
  • Anything from basic flat rates to advanced logic that handles multiple carriers, warehouses, product types, or fulfilment paths.
  • If you can describe your shipping rules, you can program them into JsRates.
Who is it for?
  • Stores with rules that standard apps can't express.
  • Teams comfortable with JavaScript or working with a dev.

A simple workflow for real stores

Write once, test safely, go live when it’s right.

🧠

Describe your rules in JavaScript

Products, couriers, zones, exceptions; keep it all in one clear script.

πŸ§ͺ

Test with Shopify-style data

Run against realistic payloads to see the exact options and prices first.

πŸš€

Enable at checkout

Set JsRates as your shipping rate app; Shopify calls your script at checkout.

Flexible rules
Returns Shopify-formatted rates
import { enrichItemDetails } from "./modules.js"; // enriches cart data with additional information

export async function calculateShippingRates(DATA, env) {
  // Use DATA (e.g. DATA.destination.country) and env (your stored variables)
  try {
    // Optional: enrich cart data with tags, metafields, etc.
    await enrichItemDetails(DATA);

    // Example logic: offer free shipping over $100, else $10
    const totalPrice = DATA.items.reduce(
      (sum, item) => sum + (item.price * item.quantity) / 100,
      0
    );
    console.log("total price", totalPrice);

    const rates = [];

    if (totalPrice >= 100) {
      rates.push({
        service_name: "Free Shipping",
        service_code: "FREE",
        total_price: 0,
        description: "Free shipping for orders over $100",
        currency: DATA.currency,
      });
    } else {
      rates.push({
        service_name: "Standard Shipping",
        service_code: "STD",
        total_price: 1000, // $10 shipping fee
        description: "Standard shipping rate for all orders",
        currency: DATA.currency,
      });
    }

    return { rates };
  } catch (error) {
    console.error("Error", error.message);
    return {
      rates: [
        {
          service_name: "Shipping Rate Error",
          service_code: "ERROR",
          total_price: null,
          description: "Unable to calculate shipping rate",
          currency: "",
        },
      ],
    };
  }
}
πŸ’¬Merchants who rely on JsRates

β€œWe have tried and tested so many shipping apps over the years and JsRates is by far the most flexible and powerful.”

- Different Drop, Australia

FlexibilityTrusted in checkout

β€œBest customer service and support I have seen in 6 years using Shopify apps.”

- Le Noise, Canada

Fast supportReliability

β€œJS Rates is a game-changer for Shopify stores! Unlike most shipping apps, it offers unmatched flexibility, allowing for advanced, customizable shipping rates.”

- Bikes Online, United States

Advanced logicCustomisable

Tools to support advanced shipping logic

JsRates gives you and your developer a full environment for building, testing, and running custom shipping rules in your Shopify store.

πŸ€–

AI-assisted code

Build

Generate and explain JavaScript snippets while you write your rules.

🌐

Third-party API connectivity

Connect

Call courier APIs or your own services for live prices and extra data.

🧩

Modular functionality

Build

Break logic into reusable pieces for regions, brands, or store variants.

πŸ“‚

Data & code import

Build

Bring in existing data or code to speed up setup.

⌨️

VS Code workflows

Build

Build in VS Code, then run that logic against Shopify checkout requests.

πŸ“ˆ

Performance insight

Operate

See how often your script runs and how long it takes.

🚚

Real-time courier rates

Connect

Combine your rules with live courier pricing at checkout.

πŸ”Œ

Dedicated API endpoint

Connect

Call your JsRates logic from product or cart pages for previews.

πŸ› οΈ

Debugging & validation

Operate

Use logs, test payloads, and validation tools before going live.

Works with major shipping carriers in your Shopify store

Use JsRates to bring in rates and rules that involve popular couriers and services.

UPS_logo.png
Fedex_logo.png
CanadaPost_logo.png
AustPost_logo.png
Couriersplease_logo.png
Fastway_logo.png
Sendle_logo.png

Pricing for Shopify merchants

Start safely in demo mode. Move to Full when you're ready to run custom logic live in Shopify checkout.

Demo

Free

Use JsRates safely in test mode to test and setup your shipping rates.

  • βœ“Unlimited time
  • βœ“Up to 1,000 requests
  • βœ“Up to 500,000 AI characters
  • βœ“Checkout test mode activation
  • βœ“AI-assisted coding
  • βœ“Custom OpenAI GPT
  • –VS Code integration
  • –Dedicated API endpoint
  • βœ“Debugging tools
  • βœ“Script validation
  • βœ“Test input data
  • βœ“Third-party API connectivity
  • βœ“Modular functionality
  • βœ“Data and code importation
  • βœ“Performance tracking
  • βœ“Real-time shipping rates
  • βœ“Courier API links
Get Started
For live checkout

Full

$35/month

Use JsRates for real orders with full activation and higher limits.

  • βœ“Unlimited time
  • βœ“Unlimited requests
  • βœ“Monthly 5,000,000 AI characters
  • βœ“Full checkout activation
  • βœ“AI-assisted coding
  • βœ“Custom OpenAI GPT
  • βœ“VS Code integration
  • βœ“Dedicated API endpoint
  • βœ“Debugging tools
  • βœ“Script validation
  • βœ“Test input data
  • βœ“Third-party API connectivity
  • βœ“Modular functionality
  • βœ“Data and code importation
  • βœ“Performance tracking
  • βœ“Real-time shipping rates
  • βœ“Courier API links
Get Started

Frequently asked questions

A quick overview of how JsRates fits into your Shopify store. Need help? Free setup available for non-developers.

Do I need to know JavaScript?
If you're comfortable with JavaScript, you can write and test your own rules. If not, you can describe the logic and we'll set up JsRates for you at no cost.
Do you offer setup help?
Yes. We provide free setup for merchants who aren't technical; share your shipping rules and we'll configure JsRates for you.
Which platforms does JsRates support?
JsRates is built specifically for Shopify. It connects to your Shopify store as a shipping rate app and returns shipping rates directly to Shopify checkout.
What types of rules can I implement?
Merchants typically use JsRates for multi-courier setups, complex product rules, special handling charges, store-specific exceptions, and cases where other Shopify rate apps are not flexible enough.
Can I try JsRates without affecting live customers?
Yes. The free demo plan is designed for testing and building without affecting the live checkout. You can enable JsRates in test mode first, and only move to the full plan once you're happy with the rates.
Can JsRates work with my existing couriers?
Yes. Your JavaScript can take into account rates from couriers (for example via their APIs) and present them in the format Shopify expects at checkout.

Ready to align shipping with how your Shopify business really works?

Install JsRates, start in demo mode, and explore what's possible with custom shipping logic.

Install JsRates on Shopify