{"id":76504,"date":"2026-03-09T17:27:41","date_gmt":"2026-03-09T22:27:41","guid":{"rendered":"https:\/\/www.shipstation.com\/?page_id=76504"},"modified":"2026-05-29T09:22:07","modified_gmt":"2026-05-29T14:22:07","slug":"shipping-rates-usps","status":"publish","type":"page","link":"https:\/\/www.shipstation.com\/en-au\/fulfillment\/shipping\/shipping-rates-usps\/","title":{"rendered":"USPS Shipping Rates Guide &#038; Calculator"},"content":{"rendered":"\n\n\n<section class=\"wp-block-shipstation-hero block not-prose padding-top--md padding-bottom--lg\">\n    <div class=\"\">\n        <div class=\"container\">\n            <div class=\"hero items-start\">\n                <div class=\"hero-content \">\n                                                                    <h1>USPS\u00ae shipping rates that keep your orders moving<\/h1>\n                                                    <div class=\"lead\"><p>USPS shipping rates vary by package, zone, and service speed. ShipStation brings them into one screen so you can shop, choose, and print without slowing down. See discounted options alongside your own rates, then apply the right service in a click. Ship smarter\u2014and keep customers updated with clear delivery notifications.<\/p><\/div>\n                                                                                    <div class=\"btn-group\">\n                                                                                    <a href=\"\/start-a-free-trial\/\" class=\"btn btn--primary\" target=\"_self\">\n                                    Start a Free Trial                                <\/a>\n                                                                            \n                                                                                    <a href=\"\/contact-us\/\" class=\"btn outline btn--secondary\" target=\"_self\">\n                                    Request a Demo                                <\/a>\n                                                                        <\/div>\n                                \n                            <\/div>\n                            <div class=\"hero-media \">\n                                            <img fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2026\/03\/usps-shipping-rates-that-keep-your-orders-moving-260309-1718.webp\" alt=\"\" width=\"900\" height=\"675\" loading=\"eager\" \/>\n                                    <\/div>\n                                    <\/div>\n        <\/div>\n    <\/div>\n<\/section>\n\n\n\n<section class=\"wp-block-shipstation-logo-marquee block not-prose\">\n    <div class=\"bg-white background--full content-theme--light \">\n        <div>\n            <div class=\"container\">\n                    <div class=\"content content-align-center items-center\">\n                                            <p class=\"eyebrow\">    Connected to the platforms that power your business<\/p>\n                                        \n                                        \n                                        \n                                        \n                                    <\/div>\n                    <div class=\"logo-marquee\">\n                <div class=\"fade-edges \">\n                    <div class=\"slider\">\n                        <ul class=\"animate-infinite-scroll\">\n                                                                                                <li>\n                                        <img decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2026\/04\/Paypal-icon-card.svg\" \n                                             alt=\"Paypal logo\" \n                                             width=\"94\" \n                                             height=\"94\" \n                                             loading=\"lazy\" \/>\n                                    <\/li>\n                                                                                                                                <li>\n                                        <img decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2026\/04\/DHL-icon-card.svg\" \n                                             alt=\"DHL logo\" \n                                             width=\"94\" \n                                             height=\"94\" \n                                             loading=\"lazy\" \/>\n                                    <\/li>\n                                                                                                                                <li>\n                                        <img decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2026\/04\/bigcommerce-icon-card.svg\" \n                                             alt=\"Bigcommerce logo\" \n                                             width=\"94\" \n                                             height=\"94\" \n                                             loading=\"lazy\" \/>\n                                    <\/li>\n                                                                                                                                <li>\n                                        <img decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2026\/04\/FedEx-Icon-Card.svg\" \n                                             alt=\"FedEx logo\" \n                                             width=\"94\" \n                                             height=\"94\" \n                                             loading=\"lazy\" \/>\n                                    <\/li>\n                                                                                                                                <li>\n                                        <img decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2026\/04\/Walmart-icon-card.svg\" \n                                             alt=\"Walmart\" \n                                             width=\"94\" \n                                             height=\"94\" \n                                             loading=\"lazy\" \/>\n                                    <\/li>\n                                                                                                                                <li>\n                                        <img decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2026\/04\/ETSY-icon-card.svg\" \n                                             alt=\"Etsy logo\" \n                                             width=\"94\" \n                                             height=\"94\" \n                                             loading=\"lazy\" \/>\n                                    <\/li>\n                                                                                                                                <li>\n                                        <img decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2026\/04\/Amazon-icon-card.svg\" \n                                             alt=\"Amazon logo\" \n                                             width=\"94\" \n                                             height=\"94\" \n                                             loading=\"lazy\" \/>\n                                    <\/li>\n                                                                                                                                <li>\n                                        <img decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2026\/04\/Squarespace-commerce-icon-card.svg\" \n                                             alt=\"Squarespace logo\" \n                                             width=\"94\" \n                                             height=\"94\" \n                                             loading=\"lazy\" \/>\n                                    <\/li>\n                                                                                                                                <li>\n                                        <img decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2026\/04\/WIX-icon-card.svg\" \n                                             alt=\"WIX logo\" \n                                             width=\"94\" \n                                             height=\"94\" \n                                             loading=\"lazy\" \/>\n                                    <\/li>\n                                                                                                                                <li>\n                                        <img decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2026\/04\/Shopify-icon-card.svg\" \n                                             alt=\"Shopify Logo\" \n                                             width=\"94\" \n                                             height=\"94\" \n                                             loading=\"lazy\" \/>\n                                    <\/li>\n                                                                                                                                <li>\n                                        <img decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2026\/04\/ebay-icon-card.svg\" \n                                             alt=\"Ebay logo\" \n                                             width=\"94\" \n                                             height=\"94\" \n                                             loading=\"lazy\" \/>\n                                    <\/li>\n                                                                                                                                <li>\n                                        <img decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2026\/04\/USPS-icon-card.svg\" \n                                             alt=\"USPS logo\" \n                                             width=\"94\" \n                                             height=\"94\" \n                                             loading=\"lazy\" \/>\n                                    <\/li>\n                                                                                                                                <li>\n                                        <img decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2026\/04\/Salesforce-icon-card.svg\" \n                                             alt=\"Salesforce logo\" \n                                             width=\"94\" \n                                             height=\"94\" \n                                             loading=\"lazy\" \/>\n                                    <\/li>\n                                                                                                                                <li>\n                                        <img decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2026\/04\/UPS-icon-card.svg\" \n                                             alt=\"UPS logo\" \n                                             width=\"94\" \n                                             height=\"94\" \n                                             loading=\"lazy\" \/>\n                                    <\/li>\n                                                                                                                                <li>\n                                        <img decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2026\/04\/Intuit-icon-card.svg\" \n                                             alt=\"Intuit logo\" \n                                             width=\"94\" \n                                             height=\"94\" \n                                             loading=\"lazy\" \/>\n                                    <\/li>\n                                                                                                                                <li>\n                                        <img decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2026\/04\/Woo-commerce-icon-card.svg\" \n                                             alt=\"Woo Commerce logo\" \n                                             width=\"94\" \n                                             height=\"94\" \n                                             loading=\"lazy\" \/>\n                                    <\/li>\n                                                                                                                                <li>\n                                        <img decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2026\/04\/Tiktok-icon-card.svg\" \n                                             alt=\"TikTok logo\" \n                                             width=\"94\" \n                                             height=\"94\" \n                                             loading=\"lazy\" \/>\n                                    <\/li>\n                                                                                    <\/ul>\n                        \n                                                    <ul aria-hidden=\"true\" class=\"animate-infinite-scroll\">\n                                                                                                            <li>\n                                            <img decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2026\/04\/Paypal-icon-card.svg\" \n                                                 alt=\"Paypal logo\" \n                                                 width=\"94\" \n                                                 height=\"94\" \n                                                 loading=\"lazy\" \/>\n                                        <\/li>\n                                                                                                                                                <li>\n                                            <img decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2026\/04\/DHL-icon-card.svg\" \n                                                 alt=\"DHL logo\" \n                                                 width=\"94\" \n                                                 height=\"94\" \n                                                 loading=\"lazy\" \/>\n                                        <\/li>\n                                                                                                                                                <li>\n                                            <img decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2026\/04\/bigcommerce-icon-card.svg\" \n                                                 alt=\"Bigcommerce logo\" \n                                                 width=\"94\" \n                                                 height=\"94\" \n                                                 loading=\"lazy\" \/>\n                                        <\/li>\n                                                                                                                                                <li>\n                                            <img decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2026\/04\/FedEx-Icon-Card.svg\" \n                                                 alt=\"FedEx logo\" \n                                                 width=\"94\" \n                                                 height=\"94\" \n                                                 loading=\"lazy\" \/>\n                                        <\/li>\n                                                                                                                                                <li>\n                                            <img decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2026\/04\/Walmart-icon-card.svg\" \n                                                 alt=\"Walmart\" \n                                                 width=\"94\" \n                                                 height=\"94\" \n                                                 loading=\"lazy\" \/>\n                                        <\/li>\n                                                                                                                                                <li>\n                                            <img decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2026\/04\/ETSY-icon-card.svg\" \n                                                 alt=\"Etsy logo\" \n                                                 width=\"94\" \n                                                 height=\"94\" \n                                                 loading=\"lazy\" \/>\n                                        <\/li>\n                                                                                                                                                <li>\n                                            <img decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2026\/04\/Amazon-icon-card.svg\" \n                                                 alt=\"Amazon logo\" \n                                                 width=\"94\" \n                                                 height=\"94\" \n                                                 loading=\"lazy\" \/>\n                                        <\/li>\n                                                                                                                                                <li>\n                                            <img decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2026\/04\/Squarespace-commerce-icon-card.svg\" \n                                                 alt=\"Squarespace logo\" \n                                                 width=\"94\" \n                                                 height=\"94\" \n                                                 loading=\"lazy\" \/>\n                                        <\/li>\n                                                                                                                                                <li>\n                                            <img decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2026\/04\/WIX-icon-card.svg\" \n                                                 alt=\"WIX logo\" \n                                                 width=\"94\" \n                                                 height=\"94\" \n                                                 loading=\"lazy\" \/>\n                                        <\/li>\n                                                                                                                                                <li>\n                                            <img decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2026\/04\/Shopify-icon-card.svg\" \n                                                 alt=\"Shopify Logo\" \n                                                 width=\"94\" \n                                                 height=\"94\" \n                                                 loading=\"lazy\" \/>\n                                        <\/li>\n                                                                                                                                                <li>\n                                            <img decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2026\/04\/ebay-icon-card.svg\" \n                                                 alt=\"Ebay logo\" \n                                                 width=\"94\" \n                                                 height=\"94\" \n                                                 loading=\"lazy\" \/>\n                                        <\/li>\n                                                                                                                                                <li>\n                                            <img decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2026\/04\/USPS-icon-card.svg\" \n                                                 alt=\"USPS logo\" \n                                                 width=\"94\" \n                                                 height=\"94\" \n                                                 loading=\"lazy\" \/>\n                                        <\/li>\n                                                                                                                                                <li>\n                                            <img decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2026\/04\/Salesforce-icon-card.svg\" \n                                                 alt=\"Salesforce logo\" \n                                                 width=\"94\" \n                                                 height=\"94\" \n                                                 loading=\"lazy\" \/>\n                                        <\/li>\n                                                                                                                                                <li>\n                                            <img decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2026\/04\/UPS-icon-card.svg\" \n                                                 alt=\"UPS logo\" \n                                                 width=\"94\" \n                                                 height=\"94\" \n                                                 loading=\"lazy\" \/>\n                                        <\/li>\n                                                                                                                                                <li>\n                                            <img decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2026\/04\/Intuit-icon-card.svg\" \n                                                 alt=\"Intuit logo\" \n                                                 width=\"94\" \n                                                 height=\"94\" \n                                                 loading=\"lazy\" \/>\n                                        <\/li>\n                                                                                                                                                <li>\n                                            <img decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2026\/04\/Woo-commerce-icon-card.svg\" \n                                                 alt=\"Woo Commerce logo\" \n                                                 width=\"94\" \n                                                 height=\"94\" \n                                                 loading=\"lazy\" \/>\n                                        <\/li>\n                                                                                                                                                <li>\n                                            <img decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2026\/04\/Tiktok-icon-card.svg\" \n                                                 alt=\"TikTok logo\" \n                                                 width=\"94\" \n                                                 height=\"94\" \n                                                 loading=\"lazy\" \/>\n                                        <\/li>\n                                                                                                <\/ul>\n                                            <\/div>\n                <\/div>\n            <\/div> <!-- Close logo-marquee -->\n            <\/div> <!-- Close container -->\n        <\/div>\n    <\/div>\n<\/section>\n\n\n<style>\n.wp-block-shipstation-logo-marquee .container .logo-marquee .fade-edges .slider>ul>li img {<br \/>\n    min-height: 120px;<br \/>\n}<br \/>\n<\/style>\n\n\n<section class=\"wp-block-shipstation-cards-v2 block not-prose\" id=\"block-cards-6a8d7c5fe16f3\">\n            <div class=\"bg-grey-lightest background--full content-theme--light  \">\n        <div class=\"container\">\n                        <div class=\"content content-align-center items-center\">\n                                \n                                    <h2>Shipping rates you can trust, control, and scale<\/h2>\n                                \n                                    <div class=\"lead\"><p>Say goodbye to guessing at shipping rates. See your costs before you buy a label, use automation to stay consistent, and keep every sales channel aligned as your volume grows.<\/p><\/div>\n                                \n                                \n                            <\/div>\n                        \n                                                <!-- Grid Mode -->\n                    <div class=\"cards icon-top columns-3 layout-grid\">\n                                                                                <div class=\"card card-icon card-solid card--centered card--text-centered bg-white\">\n                                \n        <img decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/smush-webp\/2026\/02\/icon-371abf675a14.png.webp\" alt=\"\" class=\"icon\" loading=\"eager\" \/>\n    \n\n\n\n\n\n<div class=\"card-content h-full\">\n        <div class=\"card-text\">\n                    <!-- Standard heading\/eyebrow for all other card types -->\n            \n                                                <h3 class=\"h5\">Get instant rate clarity before you print<\/h3>\n                                            \n                    <div class=\"body\"><p>Know what you&#8217;re paying\u2014and why. ShipStation gives you a clear USPS shipping cost breakdown by service, package type, and destination zone. Spot when a package crosses a pricing threshold, then adjust packaging before it eats into your margin. It&#8217;s the difference between reacting to shipping spend and staying ahead of it.<\/p><\/div>\n        \n            <\/div>\n\n    <\/div>\n                            <\/div>\n                                                                                                            <div class=\"card card-icon card-solid card--centered card--text-centered bg-white\">\n                                \n        <img decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/smush-webp\/2026\/02\/icon-2a6320328585.png.webp\" alt=\"\" class=\"icon\" loading=\"eager\" \/>\n    \n\n\n\n\n\n<div class=\"card-content h-full\">\n        <div class=\"card-text\">\n                    <!-- Standard heading\/eyebrow for all other card types -->\n            \n                                                <h3 class=\"h5\">Shop across carriers without extra tabs<\/h3>\n                                            \n                    <div class=\"body\"><p>USPS is key\u2014but it&#8217;s rarely your only option. ShipStation compares rates across UPS\u00ae, USPS, FedEx\u00ae, DHL Express, and GlobalPost\u2122 so you can choose the best mix for cost and delivery speed. It\u2019s ecommerce shipping rate optimization built for a busy fulfillment floor. Fewer clicks. Better decisions.<\/p><\/div>\n        \n            <\/div>\n\n    <\/div>\n                            <\/div>\n                                                                                                            <div class=\"card card-icon card-solid card--centered card--text-centered bg-white\">\n                                \n        <img decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2026\/03\/icon-5b9c01c5a869.png\" alt=\"\" class=\"icon\" loading=\"eager\" \/>\n    \n\n\n\n\n\n<div class=\"card-content h-full\">\n        <div class=\"card-text\">\n                    <!-- Standard heading\/eyebrow for all other card types -->\n            \n                                                <h3 class=\"h5\">Make cheaper shipping your default setting<\/h3>\n                                            \n                    <div class=\"body\"><p>Rules beat memory. With ShipStation, you can automatically select the right carrier based on weight, dimensions, order tags, or destination. That helps growing teams cut shipping costs\u2014especially when you\u2019re onboarding new staff or shipping from multiple locations.<\/p><\/div>\n        \n            <\/div>\n\n    <\/div>\n                            <\/div>\n                                                                        <\/div>\n                            \n                    <\/div>\n    <\/div>\n<\/section>\n\n\n<section class=\"block block-awards US container\"><div class=\"bg-white background--rounded content--full\">\n\n<div class=\"acf-innerblocks-container\">\n<section class=\"block block-feature-text padding-top--lg padding-bottom--lg US \"><div class=\"content--full\">\n<div id=\"feature-text-block-block_88d7d4afbece250b2317a469242648d6\" class=\"feature-text-block pb-6\">\n\t<div class=\"container\">\n\t\t<div class=\"content content-align-center\">\n\t\t\t\t\t\t\t\t\t\t<h2 class=\"\">USPS shipping rates you can compare \u2014 and beat<\/h2>\n\t\t\t\t\t\t\t\t<div class=\"text-lg max-w-[68rem]\"><p>We&#8217;ve helped 130,000+ businesses view, compare, and unlock discounted USPS shipping rates in one place. Let us help you pay less on every label, too.<\/p>\n<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\n\t\t<div class=\"acf-innerblocks-container\"><\/div>\n\t<\/div>\n<\/div>\n<\/div><\/section>\n<\/div>\n\n<div class=\"awards-block relative py-8 xl:py-12\">\n\t<div class=\"container\">\n\t\t<div class=\"awards-block__content\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"logos\">\n\t\t\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2024\/08\/Group-18467.png\"  sizes=\"auto, (max-width: 119px) 100vw, 119px\" loading=\"lazy\"   class=\"object-cover\" alt=\"\" width=\"119\" height=\"134\">\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2024\/08\/Group-18470.png\"  sizes=\"auto, (max-width: 118px) 100vw, 118px\" loading=\"lazy\"   class=\"object-cover\" alt=\"\" width=\"118\" height=\"134\">\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2024\/08\/Group-18472.png\"  sizes=\"auto, (max-width: 144px) 100vw, 144px\" loading=\"lazy\"   class=\"object-cover\" alt=\"\" width=\"144\" height=\"120\">\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2024\/08\/Group-18466.png\"  sizes=\"auto, (max-width: 118px) 100vw, 118px\" loading=\"lazy\"   class=\"object-cover\" alt=\"\" width=\"118\" height=\"134\">\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2024\/08\/Group-18468.png\"  sizes=\"auto, (max-width: 118px) 100vw, 118px\" loading=\"lazy\"   class=\"object-cover\" alt=\"\" width=\"118\" height=\"134\">\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2024\/08\/Group-18464-1.png\"  sizes=\"auto, (max-width: 145px) 100vw, 145px\" loading=\"lazy\"   class=\"object-cover\" alt=\"\" width=\"145\" height=\"120\">\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\t\t\t<div class=\"ratings\">\n\t\t\t\n\t\t\t\t\t\t\t\t\t<div class=\"pill\">\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2024\/08\/Layer_1.svg\"  sizes=\"auto, (max-width: 24px) 100vw, 24px\" loading=\"lazy\"   class=\"\" alt=\"\" width=\"24\" height=\"27\">\t\t\t\t\t\t\t<div><\/div><div> \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n    <svg width='18' height='17' viewBox='0 0 18 17' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'>\n      <path d='M9.10854 0.539062L11.1297 6.71623H17.6702L12.3788 10.5339L14.3999 16.7111L9.10854 12.8934L3.81714 16.7111L5.83828 10.5339L0.546875 6.71623H7.08741L9.10854 0.539062Z' fill='#003311'\/>\n    <\/svg>\n    <svg width='18' height='17' viewBox='0 0 18 17' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'>\n      <path d='M9.10854 0.539062L11.1297 6.71623H17.6702L12.3788 10.5339L14.3999 16.7111L9.10854 12.8934L3.81714 16.7111L5.83828 10.5339L0.546875 6.71623H7.08741L9.10854 0.539062Z' fill='#003311'\/>\n    <\/svg>\n    <svg width='18' height='17' viewBox='0 0 18 17' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'>\n      <path d='M9.10854 0.539062L11.1297 6.71623H17.6702L12.3788 10.5339L14.3999 16.7111L9.10854 12.8934L3.81714 16.7111L5.83828 10.5339L0.546875 6.71623H7.08741L9.10854 0.539062Z' fill='#003311'\/>\n    <\/svg>\n    <svg width='18' height='17' viewBox='0 0 18 17' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'>\n      <path d='M9.10854 0.539062L11.1297 6.71623H17.6702L12.3788 10.5339L14.3999 16.7111L9.10854 12.8934L3.81714 16.7111L5.83828 10.5339L0.546875 6.71623H7.08741L9.10854 0.539062Z' fill='#003311'\/>\n    <\/svg>\n    <svg width='18' height='17' viewBox='0 0 18 17' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'>\n      <path d='M9.10854 0.539062L11.1297 6.71623H17.6702L12.3788 10.5339L14.3999 16.7111L9.10854 12.8934L3.81714 16.7111L5.83828 10.5339L0.546875 6.71623H7.08741L9.10854 0.539062Z' fill='#003311'\/>\n    <\/svg>\t\t\t\t\t\t\t<\/div> <p><strong>4.9 rating<\/strong> 67 reviews<\/p>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div>\n\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"pill\">\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2024\/08\/Group-1300-1.svg\"  sizes=\"auto, (max-width: 112px) 100vw, 112px\" loading=\"lazy\"   class=\"\" alt=\"\" width=\"112\" height=\"26\">\t\t\t\t\t\t\t<div><\/div><div> \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n    <svg width='18' height='17' viewBox='0 0 18 17' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'>\n      <path d='M9.10854 0.539062L11.1297 6.71623H17.6702L12.3788 10.5339L14.3999 16.7111L9.10854 12.8934L3.81714 16.7111L5.83828 10.5339L0.546875 6.71623H7.08741L9.10854 0.539062Z' fill='#003311'\/>\n    <\/svg>\n    <svg width='18' height='17' viewBox='0 0 18 17' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'>\n      <path d='M9.10854 0.539062L11.1297 6.71623H17.6702L12.3788 10.5339L14.3999 16.7111L9.10854 12.8934L3.81714 16.7111L5.83828 10.5339L0.546875 6.71623H7.08741L9.10854 0.539062Z' fill='#003311'\/>\n    <\/svg>\n    <svg width='18' height='17' viewBox='0 0 18 17' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'>\n      <path d='M9.10854 0.539062L11.1297 6.71623H17.6702L12.3788 10.5339L14.3999 16.7111L9.10854 12.8934L3.81714 16.7111L5.83828 10.5339L0.546875 6.71623H7.08741L9.10854 0.539062Z' fill='#003311'\/>\n    <\/svg>\n    <svg width='18' height='17' viewBox='0 0 18 17' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'>\n      <path d='M9.10854 0.539062L11.1297 6.71623H17.6702L12.3788 10.5339L14.3999 16.7111L9.10854 12.8934L3.81714 16.7111L5.83828 10.5339L0.546875 6.71623H7.08741L9.10854 0.539062Z' fill='#003311'\/>\n    <\/svg>\n    <svg width='18' height='17' viewBox='0 0 18 17' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'>\n    <path d='M8.98745 0.540039V12.8944L3.69605 16.7121L5.71718 10.5349L0.425781 6.71721H6.96631L8.98745 0.540039Z' fill='#003311'\/>\n    <path d='M8.98716 0.540039V12.8944L14.2786 16.7121L12.2574 10.5349L17.5488 6.71721H11.0083L8.98716 0.540039Z' fill='#CFD1D3'\/>\n    <\/svg>\t\t\t\t\t\t\t<\/div> <p><strong>4.6 rating<\/strong> 897 reviews<\/p>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div>\n\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"pill\">\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2024\/08\/Group-1303-1.svg\"  sizes=\"auto, (max-width: 23px) 100vw, 23px\" loading=\"lazy\"   class=\"\" alt=\"\" width=\"23\" height=\"23\">\t\t\t\t\t\t\t<div><\/div><div> \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n    <svg width='18' height='17' viewBox='0 0 18 17' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'>\n      <path d='M9.10854 0.539062L11.1297 6.71623H17.6702L12.3788 10.5339L14.3999 16.7111L9.10854 12.8934L3.81714 16.7111L5.83828 10.5339L0.546875 6.71623H7.08741L9.10854 0.539062Z' fill='#003311'\/>\n    <\/svg>\n    <svg width='18' height='17' viewBox='0 0 18 17' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'>\n      <path d='M9.10854 0.539062L11.1297 6.71623H17.6702L12.3788 10.5339L14.3999 16.7111L9.10854 12.8934L3.81714 16.7111L5.83828 10.5339L0.546875 6.71623H7.08741L9.10854 0.539062Z' fill='#003311'\/>\n    <\/svg>\n    <svg width='18' height='17' viewBox='0 0 18 17' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'>\n      <path d='M9.10854 0.539062L11.1297 6.71623H17.6702L12.3788 10.5339L14.3999 16.7111L9.10854 12.8934L3.81714 16.7111L5.83828 10.5339L0.546875 6.71623H7.08741L9.10854 0.539062Z' fill='#003311'\/>\n    <\/svg>\n    <svg width='18' height='17' viewBox='0 0 18 17' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'>\n      <path d='M9.10854 0.539062L11.1297 6.71623H17.6702L12.3788 10.5339L14.3999 16.7111L9.10854 12.8934L3.81714 16.7111L5.83828 10.5339L0.546875 6.71623H7.08741L9.10854 0.539062Z' fill='#003311'\/>\n    <\/svg>\n    <svg width='18' height='17' viewBox='0 0 18 17' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'>\n    <path d='M8.98745 0.540039V12.8944L3.69605 16.7121L5.71718 10.5349L0.425781 6.71721H6.96631L8.98745 0.540039Z' fill='#003311'\/>\n    <path d='M8.98716 0.540039V12.8944L14.2786 16.7121L12.2574 10.5349L17.5488 6.71721H11.0083L8.98716 0.540039Z' fill='#CFD1D3'\/>\n    <\/svg>\t\t\t\t\t\t\t<\/div> <p><strong>4.3 rating<\/strong> 531 reviews<\/p>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div>\n\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t<\/div>\n<\/div><\/div><\/section>\n\n\n<section class=\"block block-zig-zag wp-block-shipstation-zig-zag block not-prose\">\n    <div class=\"bg-grey-lightest background--full content-theme--light content--lg \">\n        <div class=\"zig-zag-block\">\n            <div class=\"container\">\n                    <div class=\"content content-align-center items-center content-width-md\">\n                                        \n                                            <h2>Shipping rate features built for real shipping work<\/h2>\n                                        \n                                            <div class=\"lead\">Compare, calculate, and apply the right service at label time. ShipStation keeps your process tight with real-time rate shopping, automation, and reporting that stays simple\u2014even as you scale.<\/div>\n                                        \n                                        \n                                    <\/div>\n                <div class=\"columns flex-col-reverse items-center zig-zag-row\" data-row=\"1\">\n            \n            <!-- Text Column -->\n            <div class=\"column-content w-full md:col-span-6 md:order-1 content-align-left mobile-align-left\">\n                                \n                                    <h3>Rate Shopper compares service levels in seconds<\/h3>\n                                \n                                    <div class=\"lead max-w-[54rem]\">\n                        <p>No more bouncing between carrier sites. ShipStation\u2019s Rate Shopper helps you compare USPS service-level pricing next to other carriers\u2014right where you create labels. It can also surface options that match your delivery promise, not just the lowest number. Want to see it in action?<\/p>                    <\/div>\n                                \n                                    <div class=\"btn-group\">\n                                                    <a href=\"\/fulfillment\/shipping\/rate-shopper\/\" target=\"_self\" class=\"btn\">Explore ShipStation Rate Shopper<\/a>\n                                                                    <\/div>\n                                \n                            <\/div>\n\n            <!-- Media Column -->\n            <div class=\"column-media w-full md:col-span-6 md:order-2\">\n                                    <img decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2026\/03\/rate-shopper-compares-service-levels-in-seconds-260309-1718.webp\" alt=\"\" class=\"rounded-xl\" \/>\n                            <\/div>\n\n        <\/div>\n            <div class=\"columns flex-col-reverse items-center zig-zag-row\" data-row=\"2\">\n            \n            <!-- Text Column -->\n            <div class=\"column-content w-full md:col-span-6 md:order-2 content-align-left mobile-align-left\">\n                                \n                                    <h3>Accurate rating starts with weight and dimensions<\/h3>\n                                \n                                    <div class=\"lead max-w-[54rem]\">\n                        <p>The right label starts with the right inputs. ShipStation helps you calculate postage based on weight and dimensions, so you can avoid surprises later. Enter package size once, save box presets, and reuse them for repeat SKUs. It\u2019s a simple system that protects margins as your catalog grows and packaging gets more complex.<\/p>                    <\/div>\n                                \n                                \n                            <\/div>\n\n            <!-- Media Column -->\n            <div class=\"column-media w-full md:col-span-6 md:order-1\">\n                                    <img decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2026\/03\/accurate-rating-starts-with-weight-and-dimensions-260309-1718.webp\" alt=\"\" class=\"rounded-xl\" \/>\n                            <\/div>\n\n        <\/div>\n            <div class=\"columns flex-col-reverse items-center zig-zag-row\" data-row=\"3\">\n            \n            <!-- Text Column -->\n            <div class=\"column-content w-full md:col-span-6 md:order-1 content-align-left mobile-align-left\">\n                                \n                                    <h3>Smarter picks for Ground Advantage and lightweight orders<\/h3>\n                                \n                                    <div class=\"lead max-w-[54rem]\">\n                        <p>Many sellers still look for First-Class\u2122 shipping cost estimates, even though most lightweight packages now map to newer services. ShipStation makes it easy to understand the Ground Advantage pricing structure by showing eligible services based on what you&#8217;re shipping. You&#8217;ll see when a small, heavy box may rate better with cubic style logic\u2014and when a different carrier wins.<\/p>                    <\/div>\n                                \n                                \n                            <\/div>\n\n            <!-- Media Column -->\n            <div class=\"column-media w-full md:col-span-6 md:order-2\">\n                                    <img decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2026\/03\/smarter-picks-for-ground-advantage-and-lightweight-orders-260309-1718.webp\" alt=\"\" class=\"rounded-xl\" \/>\n                            <\/div>\n\n        <\/div>\n            <div class=\"columns flex-col-reverse items-center zig-zag-row\" data-row=\"4\">\n            \n            <!-- Text Column -->\n            <div class=\"column-content w-full md:col-span-6 md:order-2 content-align-left mobile-align-left\">\n                                \n                                    <h3>Use package types to simplify Priority Mail decisions<\/h3>\n                                \n                                    <div class=\"lead max-w-[54rem]\">\n                        <p>Not every order needs the same speed. Run side-by-side comparisons with Priority Mail\u00ae rate examples, so you can choose between faster delivery and cost control. You can also track flat-rate box shipping costs by selecting the right package type, which is especially helpful when weight creeps up but the box stays the same.<\/p>                    <\/div>\n                                \n                                    <div class=\"btn-group\">\n                                                    <a href=\"\/fulfillment\/shipping\/usps-priority-mail\/\" target=\"_self\" class=\"btn\">USPS Priority Mail Shipping<\/a>\n                                                                    <\/div>\n                                \n                            <\/div>\n\n            <!-- Media Column -->\n            <div class=\"column-media w-full md:col-span-6 md:order-1\">\n                                    <img decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2026\/03\/use-package-types-to-simplify-priority-mail-decisions-260309-1718.webp\" alt=\"\" class=\"rounded-xl\" \/>\n                            <\/div>\n\n        <\/div>\n            <div class=\"columns flex-col-reverse items-center zig-zag-row\" data-row=\"5\">\n            \n            <!-- Text Column -->\n            <div class=\"column-content w-full md:col-span-6 md:order-1 content-align-left mobile-align-left\">\n                                \n                                    <h3>Centralize rates, labels, and reporting across every channel<\/h3>\n                                \n                                    <div class=\"lead max-w-[54rem]\">\n                        <p>If you sell on Shopify, Amazon, eBay, Etsy, Walmart, and your own store, rate decisions can splinter fast. ShipStation centralizes shipping rate management with 100+ integrations, batch label printing, and a shipping cost visibility dashboard that rolls spend up by carrier, service, and time period. Add batch rate comparison software to your daily workflow, and your team can move faster with fewer mistakes. For quick checks, try the USPS shipping calculator, then bring that insight back into your shipping workflow.<\/p>                    <\/div>\n                                \n                                \n                            <\/div>\n\n            <!-- Media Column -->\n            <div class=\"column-media w-full md:col-span-6 md:order-2\">\n                                    <img decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2026\/03\/centralize-rates-labels-and-reporting-across-every-channel-260309-1718.webp\" alt=\"\" class=\"rounded-xl\" \/>\n                            <\/div>\n\n        <\/div>\n                <\/div>\n        <\/div>\n    <\/div>\n<\/section>\n\n\n<section class=\"block block-cards US \"><div class=\"bg-grey-lightest background--full content--full\">\n\n<div id=\"block-cards-block_264087f61e3fc3ae36e0e1acb6207c07\" class=\"block-cards resources-cards\">\n\t<div class=\"container pb-8\">\n\t\t<div class=\"acf-innerblocks-container\">\n<section class=\"block block-feature-text US \"><div class=\"content--sm\">\n<div id=\"feature-text-block-block_4e333540446b6ddfc0bac392747d00a8\" class=\"feature-text-block pb-6\">\n\t<div class=\"container\">\n\t\t<div class=\"content content-align-center\">\n\t\t\t\t\t<p class=\"eyebrow\">RELATED CONTENT<\/p>\n\t\t\t\t\t\t\t\t\t\t<h2 class=\"\">Helpful Shipping Resources<\/h2>\n\t\t\t\t\t\t\t\t<div class=\"text-lg max-w-[68rem]\"><p>Browse additional articles, guides, and insights related to shipping and fulfillment. These resources provide practical advice and best practices to support your day-to-day operations.<\/p>\n<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\n\t\t<div class=\"acf-innerblocks-container\"><\/div>\n\t<\/div>\n<\/div>\n<\/div><\/section>\n<\/div>\n\t\t\n\t\t\n\t\t\t\t\t<div class=\"cards  columns-3 layout-grid\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"card card-icon card-shadow bg-white items-center text-center \">\n\t\t\t\t\t\t\t\n<img decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2025\/12\/IconExchanges-BrandShipstation-2-colorTrue.svg\"  sizes=\"auto, (max-width: 64px) 100vw, 64px\" loading=\"lazy\"   class=\"icon\" alt=\"Save on shipping icon\" width=\"64\" height=\"64\">\n<div class=\"card-content h-full\">\n    <div class=\"card-text\">\n                    <h5>The Cheapest Way to Ship Packages<\/h5>\n                             <p>Finding the cheapest way to ship a package doesn\u2019t mean sacrificing quality. Affordable shipping rates are available to anyone that knows where to look.<\/p>\n            <\/div>\n\n            <div class=\"card-cta\">\n            <a class=\"link-btn no-underline\" href=\"\/blog\/cheapest-way-to-ship\/\" target=\"\">Read the Blog<\/a>\n        <\/div>\n    <\/div>\n\n\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"card card-icon card-shadow bg-white items-center text-center \">\n\t\t\t\t\t\t\t\n<img decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2025\/12\/IconCurrency02-BrandShipstation-2-colorTrue.svg\"  sizes=\"auto, (max-width: 64px) 100vw, 64px\" loading=\"lazy\"   class=\"icon\" alt=\"Shipping rate calculator\" width=\"64\" height=\"64\">\n<div class=\"card-content h-full\">\n    <div class=\"card-text\">\n                    <h5>Calculate Shipping Costs and Start Saving Now<\/h5>\n                             <p>Whether you\u2019re shipping a single order or managing high-volume ecommerce fulfillment, ShipStation\u2019s shipping cost calculator helps you get fast, reliable quotes from top carriers so you can save time and money with every label.<\/p>\n            <\/div>\n\n            <div class=\"card-cta\">\n            <a class=\"link-btn no-underline\" href=\"\/fulfillment\/shipping\/shipping-rates-calculator\/\" target=\"\">Use the Shipping Rates Calculator<\/a>\n        <\/div>\n    <\/div>\n\n\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"card card-icon card-shadow bg-white items-center text-center \">\n\t\t\t\t\t\t\t\n<img decoding=\"async\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2026\/01\/usps-icon.webp\" srcset=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2026\/01\/usps-icon.webp 200w, https:\/\/www.shipstation.com\/wp-content\/uploads\/2026\/01\/usps-icon-150x150.webp 150w\" sizes=\"auto, (max-width: 200px) 100vw, 200px\" loading=\"lazy\"   class=\"icon\" alt=\"USPS icon\" width=\"200\" height=\"200\">\n<div class=\"card-content h-full\">\n    <div class=\"card-text\">\n                    <h5>USPS Flat Rate Boxes, Envelopes, and Prices<\/h5>\n                             <p>USPS Flat Rate boxes and envelopes allow you to ship up to 70 lbs with USPS Priority Mail\u00ae at one low rate to anywhere in the US. The advantage of Flat Rate is that regardless of how much you fit into the packaging, it\u2019s allowable.<\/p>\n            <\/div>\n\n            <div class=\"card-cta\">\n            <a class=\"link-btn no-underline\" href=\"\/stories\/cocktail-courier-ensures-compliant-last-mile-delivery-with-shipstation-dropship-manager\/\" target=\"\">Read the Blog<\/a>\n        <\/div>\n    <\/div>\n\n\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t<\/div>\n<\/div>\n<\/div><\/section>\n\n\n<style>\n.resources-cards img {\n    border-radius: 8px;\n}\n<\/style>\n\n\n<section class=\"block block-form-long US \"><div class=\"bg-cobalt-lightest background--full content--full\">\n<div id=\"form-long-block-block_7cb2d2e84e4fd51bae43a7517b87aefd\" class=\"form-long-block inline-trial-form-awards relative overflow-hidden\">\n\t<div class=\"container\">\n\t\t<div class=\"form-columns\">\n\t\t\t<div class=\"content\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h2>Try us free<\/h2>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"lead max-w-[64rem]\"><p class=\"h5\">What you can look forward to in your 30-day free trial:<\/p>\n<ul style=\"list-style: none; padding: 0; margin-top: 24px;\">\n<li style=\"display: flex; align-items: center; margin-bottom: 16px;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-70021 \" role=\"img\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2025\/09\/check-dark-green-fill.webp\" alt=\"check-dark-green\" width=\"30\" height=\"30\" \/> \u00a0 \u00a0Get instant access to all of our features<\/li>\n<li style=\"display: flex; align-items: center; margin-bottom: 16px;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-70021 \" role=\"img\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2025\/09\/check-dark-green-fill.webp\" alt=\"check-dark-green\" width=\"30\" height=\"30\" \/> \u00a0 \u00a0Connect to over 400 integrations<\/li>\n<li style=\"display: flex; align-items: center; margin-bottom: 16px;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-70021 \" role=\"img\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2025\/09\/check-dark-green-fill.webp\" alt=\"check-dark-green\" width=\"30\" height=\"30\" \/> \u00a0 \u00a0See how much our rates can save you on shipping<\/li>\n<\/ul>\n<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"flex flex-col gap-12\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"flex flex-col gap-4\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"text-base xl:text-lg\">\n\t\t\t\t\t\t\t\t\t<div class=\"badges\">\n<p><img decoding=\"async\" class=\"badge\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2026\/04\/Shipping_BestEstimatedROI_Mid-Market_Roi.svg\" alt=\"G2 Award - Best ROI Spring 2026\" \/><\/p>\n<p><img decoding=\"async\" class=\"badge\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2026\/04\/DropShipping_HighestUserAdoption_Adoption.svg\" alt=\"G2 Award - Highest User Adoption Spring 2026\" \/><\/p>\n<p><img decoding=\"async\" class=\"badge\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2026\/04\/Shipping_MomentumLeader_Leader.svg\" alt=\"G2 Award - Momentum Leader Spring 2026\" \/><\/p>\n<p><img decoding=\"async\" class=\"badge\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2026\/04\/E-Commerce_Leader_Leader.svg\" alt=\"G2 Award - Ecommerce Leader\" \/><\/p>\n<p><img decoding=\"async\" class=\"badge\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2026\/03\/Shipping_BestEstimatedROI_Mid-Market_Roi.svg\" alt=\"Award 1\" \/><\/p>\n<p><img decoding=\"async\" class=\"badge\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2026\/03\/Shipping_Leader_Small-Business_Leader.svg\" alt=\"Award 3\" \/><\/p>\n<p><img decoding=\"async\" class=\"badge\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2026\/03\/Shipping_EasiestSetup_Mid-Market_EaseOfSetup.svg\" alt=\"Award 4\" \/><\/p>\n<p><img decoding=\"async\" class=\"badge\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2026\/03\/Shipping_MomentumLeader_Leader.svg\" alt=\"Award 5\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"badge\" style=\"width: 120px; height: 120px; object-fit: contain;\" src=\"https:\/\/www.shipstation.com\/wp-content\/uploads\/2025\/09\/g2-fall-2025-users-love-us.svg\" alt=\"Award 6\" width=\"120\" height=\"120\" \/><\/p>\n<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t\t\t\t<\/div>\n\n\t\t\t<div class=\"form\">\n\t\t\t\t<div class=\"form-content\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"acf-innerblocks-container\">\n<p><script src=\"https:\/\/cdn.jsdelivr.net\/npm\/vue@2.6.12\" defer><\/script>\n<!-- reCAPTCHA will be lazy-loaded via recaptcha-loader.js (see below) -->\n\n\n<div class=\"signup-form-container\"\n    style=\"--backgroundColor: #FFFFFF; --textColor: #2F3657; --headingColor: #2E3657;\">\n    <div id=\"signup_form\" v-if=\"content\">\n        <section id=\"signup\">\n            <h3 class=\"form-title\">Create your ShipStation account<\/h3>\n            <div class=\"register-form\">\n                <form class=\"container\" id=\"registration-form\" method=\"POST\" v-on:submit.prevent>\n                    <fieldset>\n                        <div v-if=\"ssoOnboarding\">\n                                                    <\/div>\n                        <div>\n                            <div class=\"row custom-select\" v-show=\"showField('country')\">\n    <label for=\"country\" class=\"sr-only\">\n        <span>Country<\/span>\n        <em>*<\/em>\n    <\/label>\n    <!-- @change marks the field as user-touched so the async geo result can't overwrite a\n         selection the visitor already made. See onCountryChange() in forms\/signup.php. -->\n    <select id=\"country\" v-model=\"country\" name=\"countryCode\" class=\"default\" required @change=\"onCountryChange\">\n        <option value=\"\" disabled selected>Select your shipping origin country<\/option>\n        <option value=\"US\">United States<\/option>\n        <option value=\"CA\">Canada<\/option>\n        <option value=\"AU\">Australia<\/option>\n        <option value=\"NZ\">New Zealand<\/option>\n        <option value=\"GB\">United Kingdom<\/option>\n        <option value=\"FR\">France<\/option>\n        <option value=\"DE\">Germany<\/option>\n        <option value=\"Other\">Other<\/option>\n    <\/select>\n<\/div><div ref=\"name\" class=\"form-layout container form-names\">\n    <div v-show=\"showField('firstName')\" class=\"row error-container\">\n        <label for=\"reg-fname\"><span>First Name<\/span> <em>*<\/em><\/label>\n        <input v-model=\"firstName\" id=\"reg-fname\" class=\"required\" name=\"firstName\" size=\"24\" maxlength=\"22\" type=\"text\" placeholder=\"\" required \/>\n    <\/div>\n    <div v-show=\"showField('lastName')\" class=\"row error-container\">\n        <label for=\"reg-lname\"><span>Last Name<\/span> <em>*<\/em><\/label>\n        <input v-model=\"lastName\" id=\"reg-lname\" class=\"required\" name=\"lastName\" size=\"24\" maxlength=\"22\" type=\"text\" placeholder=\"\" required \/>\n    <\/div>\n<\/div><div ref=\"company\" class=\"row error-container container\" v-show=\"showField('company')\">\n    <label for=\"reg-compname\"><span>Company<\/span><em v-if=\"companyRequired.includes(country)\"> *<\/em><\/label>\n    <input v-model=\"company\" id=\"reg-compname\" maxlength=\"50\" name=\"companyName\" type=\"text\" \/>\n<\/div>                            <div class=\"form-layout container\">\n                                <div class=\"row error-container\" v-show=\"showField('email')\">\n    <label for=\"email\"><span>Email<\/span> <em>*<\/em><\/label>\n    <input v-model=\"email\" id=\"email\" class=\"required\" spellcheck=\"false\" maxlength=\"255\" name=\"email\" type=\"email\" placeholder=\"\" required \/>\n<\/div><div class=\"row relative password-container\">\n    <label for=\"password\"><span>Password<\/span> <em>*<\/em><\/label>\n    <input\n        id=\"password\"\n        class=\"required pr-12\"\n        name=\"password\"\n        :type=\"showPassword ? 'text' : 'password'\"\n        v-model=\"password\"\n        required\n    >\n    <button\n      type=\"button\"\n      @click=\"toggleShowPassword\"\n      aria-label=\"Show \/ Hide password\"\n      class=\"toggle-password\"\n      :class=\"{ 'toggle-password--empty': password.length === 0 }\"\n    >\n      <!-- Conditionally render SVG icons based on showPassword state -->\n      <template v-if=\"showPassword\">\n        <!-- EyeSlashIcon -->\n        <svg\n            width=\"18\"\n            height=\"15\"\n            viewBox=\"0 0 18 15\"\n            fill=\"none\"\n            xmlns=\"http:\/\/www.w3.org\/2000\/svg\"\n            aria-hidden=\"true\"\n            focusable=\"false\"\n        >\n            <path\n            d=\"M8.99991 11.25C6.86664 11.25 5.13977 9.59883 4.98086 7.50633L2.03056 5.22625C1.64272 5.71281 1.28581 6.22721 0.997811 6.78971C0.933473 6.91698 0.899952 7.05759 0.899952 7.20019C0.899952 7.3428 0.933473 7.48341 0.997811 7.61068C2.52303 10.5866 5.54252 12.6 8.99991 12.6C9.75675 12.6 10.4869 12.4875 11.1906 12.3058L9.73116 11.1766C9.49014 11.2232 9.24538 11.2478 8.99991 11.25ZM17.8261 12.8841L14.7169 10.4811C15.6613 9.68514 16.4381 8.70932 17.002 7.61039C17.0664 7.48313 17.0999 7.34252 17.0999 7.19991C17.0999 7.0573 17.0664 6.9167 17.002 6.78943C15.4768 3.81353 12.4573 1.80007 8.99991 1.80007C7.5519 1.80182 6.12741 2.16636 4.85655 2.86038L1.2785 0.0948548C1.23184 0.0585476 1.17848 0.0317904 1.12148 0.0161121C1.06448 0.000433765 1.00494 -0.00385832 0.946279 0.00348108C0.887616 0.0108205 0.830974 0.0296475 0.77959 0.0588864C0.728206 0.0881252 0.683088 0.127203 0.646812 0.173886L0.0947201 0.884602C0.0214824 0.978816 -0.0113349 1.09826 0.00348583 1.21667C0.0183066 1.33508 0.0795517 1.44275 0.173751 1.51601L16.7213 14.3052C16.768 14.3416 16.8213 14.3683 16.8783 14.384C16.9353 14.3997 16.9949 14.404 17.0535 14.3966C17.1122 14.3893 17.1688 14.3705 17.2202 14.3412C17.2716 14.312 17.3167 14.2729 17.353 14.2262L17.9054 13.5155C17.9786 13.4213 18.0114 13.3018 17.9965 13.1834C17.9816 13.065 17.9203 12.9573 17.8261 12.8841ZM12.659 8.89036L11.5537 8.03592C11.6467 7.7669 11.6961 7.4847 11.6999 7.20005C11.7054 6.78331 11.6131 6.3711 11.4303 5.99651C11.2476 5.62193 10.9796 5.29542 10.6478 5.04321C10.316 4.79101 9.92967 4.62013 9.51985 4.54431C9.11003 4.46849 8.68814 4.48984 8.28807 4.60665C8.45767 4.83646 8.54941 5.11444 8.54991 5.40006C8.54572 5.4951 8.53119 5.5894 8.5066 5.68131L6.43633 4.08128C7.15547 3.48031 8.06271 3.15076 8.99991 3.15006C9.53185 3.14977 10.0586 3.25432 10.5501 3.45775C11.0416 3.66117 11.4882 3.95948 11.8643 4.33562C12.2405 4.71175 12.5388 5.15834 12.7422 5.64984C12.9456 6.14134 13.0502 6.66812 13.0499 7.20005C13.0499 7.80839 12.9011 8.37539 12.659 8.89064V8.89036Z\"\n            fill=\"#637381\"\n            \/>\n        <\/svg>\n      <\/template>\n      <template v-else>\n        <!-- EyeIcon -->\n        <svg\n            width=\"18\"\n            height=\"12\"\n            viewBox=\"0 0 18 12\"\n            fill=\"none\"\n            xmlns=\"http:\/\/www.w3.org\/2000\/svg\"\n            aria-hidden=\"true\"\n            focusable=\"false\"\n        >\n            <path\n            d=\"M8.99998 2.5C8.66877 2.50518 8.34001 2.5578 8.02373 2.65625C8.17003 2.91354 8.24793 3.20403 8.24998 3.5C8.24998 3.72981 8.20472 3.95738 8.11677 4.1697C8.02882 4.38202 7.89992 4.57493 7.73742 4.73744C7.57492 4.89994 7.382 5.02884 7.16968 5.11679C6.95736 5.20474 6.7298 5.25 6.49998 5.25C6.20402 5.24795 5.91352 5.17005 5.65623 5.02375C5.45324 5.72775 5.4769 6.47777 5.72386 7.16757C5.97081 7.85738 6.42855 8.452 7.03222 8.8672C7.6359 9.28241 8.35491 9.49715 9.08741 9.48101C9.81991 9.46487 10.5288 9.21867 11.1136 8.77728C11.6984 8.33589 12.1295 7.72169 12.3458 7.02168C12.5621 6.32167 12.5527 5.57133 12.3189 4.87696C12.0852 4.18258 11.6388 3.57937 11.0431 3.15277C10.4475 2.72616 9.73266 2.49779 8.99998 2.5ZM17.8912 5.54375C16.1965 2.23719 12.8415 0 8.99998 0C5.15842 0 1.80248 2.23875 0.108733 5.54406C0.037246 5.68547 0 5.8417 0 6.00016C0 6.15861 0.037246 6.31484 0.108733 6.45625C1.80342 9.76281 5.15842 12 8.99998 12C12.8415 12 16.1975 9.76125 17.8912 6.45594C17.9627 6.31453 18 6.1583 18 5.99984C18 5.84139 17.9627 5.68516 17.8912 5.54375ZM8.99998 10.5C5.91717 10.5 3.09092 8.78125 1.56467 6C3.09092 3.21875 5.91686 1.5 8.99998 1.5C12.0831 1.5 14.909 3.21875 16.4353 6C14.9094 8.78125 12.0831 10.5 8.99998 10.5Z\"\n            fill=\"#637381\"\n            \/>\n        <\/svg>\n      <\/template>\n    <\/button>\n<\/input>\n<\/div>\n                            <\/div>\n                            <div class=\"form-layout container\">\n                                <div ref=\"phone\" class=\"row error-container\" v-show=\"showField('phone')\">\n    <label for=\"phone\"><span>Phone<\/span><sup class=\"consent-marker\">&dagger;<\/sup><em v-if=\"phoneNumberRequired.includes(country)\"> *<\/em><\/label>\n    <input v-model=\"phone\" @input=\"restrictToNumbers\" id=\"phone\" name=\"phone\" type=\"tel\" placeholder=\"\" inputmode=\"tel\" \/>\n<\/div>\n<div class=\"row\" v-show=\"showField('coupon')\">\n    <label for=\"coupon\">\n        <span>\n            Offer Code        <\/span>\n    <\/label>\n    <input id=\"coupon\" name=\"coupon\" size=\"24\" type=\"text\"\n        placeholder=\"\" \/>\n<\/div>\n                            <\/div>\n                            <div class=\"container\">\n                                <div ref=\"shipmentVolume\" class=\"row custom-select\" v-show=\"showField('shipmentVolume')\">\n    <label for=\"shipment_volume\"><span>Select your current number of shipments per month<\/span> <em>*<\/em><\/label>\n    <select v-model=\"shipmentVolume\" id=\"shipment_volume\" name=\"shipment_volume\" class=\"default\" required=\"required\">\n        <option value=\"default\" disabled>Select your current number of shipments per month<\/option>\n        <option value=\"1\">I only need to ship one package<\/option>\n        <option value=\"50\">50 shipments or less, I&#8217;m just getting started<\/option>\n        <option value=\"500\">51-500 shipments<\/option>\n        <option value=\"1000\">501-1,000 shipments<\/option>\n        <option value=\"2000\">1,001-2,000 shipments<\/option>\n        <option value=\"5000\">2,001-5,000 shipments<\/option>\n        <option value=\"7500\">5,001-7,500 shipments<\/option>\n        <option value=\"7501\">7,501+ shipments<\/option>\n        <option value=\"0\">I don&#8217;t plan to ship anything<\/option>\n    <\/select>\n<\/div>                                <div id=\"ships-freight-div\" class=\"row ss-registration-field--hidden\">\n                                    <label for=\"ships_freight\"><span>Do you also ship freight?<\/span><\/label>\n                                    <select id=\"ships_freight\" name=\"ships_freight\">\n                                        <option value=\"null\">Please select an option<\/option>\n                                        <option value=\"no\">No<\/option>\n                                        <option value=\"yes\">Yes<\/option>\n                                    <\/select>\n                                <\/div>\n                                <div ref=\"hdyhau\" class=\"row custom-select\" v-show=\"showField('howDidYouHearAboutUs')\">\n    <label for=\"howdidyouhearaboutus\"><span>How did you hear about us?<\/span><\/label>\n    <select v-model=\"selectHowDidYouHearAboutUs\" id=\"howdidyouhearaboutus\" name=\"answers[0]\" class=\"default\" ref=\"referral_source\">\n        <option value=\"\" disabled selected>Please select&#8230;<\/option>\n                    <option value=\"Received Mailer\">Received Mailer<\/option>\n                    <option value=\"Social Media Ad (Facebook, LinkedIn, etc.)\">Social Media Ad (Facebook, LinkedIn, etc.)<\/option>\n                    <option value=\"Influencer (Instagram\/TikTok)\">Influencer (Instagram\/TikTok)<\/option>\n                    <option value=\"Podcast \/ Youtube\">Podcast \/ Youtube<\/option>\n                    <option value=\"TV Commercial\">TV Commercial<\/option>\n                    <option value=\"Search engine (Google, Bing, etc.)\">Search engine (Google, Bing, etc.)<\/option>\n                    <option value=\"Banner Ad\">Banner Ad<\/option>\n                    <option value=\"Radio \/ Streaming Audio \/ SiriusXM\">Radio \/ Streaming Audio \/ SiriusXM<\/option>\n                    <option value=\"Event \/ Tradeshow\">Event \/ Tradeshow<\/option>\n                    <option value=\"Shopping Cart (Shopify, eBay, etc.)\">Shopping Cart (Shopify, eBay, etc.)<\/option>\n                    <option value=\"Recommended by Friend\">Recommended by Friend<\/option>\n                <option id=\"howdidyouhearaboutus_other\" value=\"Other\">Other (Please specify below)<\/option>\n    <\/select>\n    <input name=\"questions[0]\" type=\"hidden\" value=\"How did you hear about us?\">\n<\/div>\n<div id=\"howdidyouhearaboutus_other_container\" class=\"row\" style=\"display:none;\" v-show=\"selectHowDidYouHearAboutUs === 'Other' &#038;&#038; showField('howDidYouHearAboutUs')\">\n    <input v-model=\"howDidYouHearAboutUs\" name=\"howdidyouhearaboutus_textfield\" type=\"text\" value=\"\" placeholder=\"Please let us know how did you hear about us...\">\n<\/div><div class=\"row optin-consent-field\" style=\"display:none;\">\n    <label>\n        <input id=\"optin_consent\" name=\"optin_consent\" type=\"checkbox\" checked \/> I consent to receive personalised marketing communications    <\/label>\n<\/div><div class=\"row\" id=\"reg-submit\">\n    <input id=\"save-button\" class=\"btn translate\" name=\"saveForm\" type=\"submit\" value=\"Get Started\" \/>\n    \n    <div class=\"row\">\n    <div class=\"terms\">\n        By clicking &#039;Get Started&#039;, you agree to our        <a id=\"sstos\" :href=\"content[country].privacy.tosURL || '\/terms-of-service'\" target=\"_blank\">\n            Terms        <\/a>\n        &amp;        <a id=\"sspp\" :href=\"content[country].privacy.privacyURL || '\/privacy-policy'\" target=\"_blank\">\n            Privacy Policy        <\/a>\n        and        <a id=\"sscarriers\" href=\"\/carriers-terms-of-service\/\" target=\"_blank\">\n            Carriers&#039; Terms        <\/a>.\n    <\/div>\n\n                <div class=\"terms phone-consent\">\n            \u2020 By providing your phone number, you agree that ShipStation may contact you by call or text, including using AI or automated technology, for onboarding and support. Phone number is optional.        <\/div>\n    \n    <div id=\"recaptcha-legal\" style=\"display:none;\">\n        This site is protected by reCAPTCHA and the Google\n        <a href=\"https:\/\/policies.google.com\/privacy\">Privacy Policy<\/a> and\n        <a href=\"https:\/\/policies.google.com\/terms\">Terms of Service apply.<\/a>\n    <\/div>\n<\/div>    \n            <span class=\"disclaimer_text\">No commitment. No credit card needed. By providing a telephone number and submitting this form you are consenting to be contacted by SMS text message. Message and data rates may apply. You can reply STOP to opt-out of further messaging.<\/span>\n    <\/div>\n                            <\/div>\n                        <\/div>\n\n                        <div class=\"phone-support\">\n                            <span v-if=\"country !== 'US' &#038;&#038; country !== 'CA'\">\n                                Questions? Contact our sales team at                            <\/span>\n                            <span v-html=\"content[country].questions.phone\">(855)892-2954<\/span>\n                            <span v-if=\"country !== 'US' &#038;&#038; country !== 'CA'\">\n                                or email                            <\/span>\n                            <span v-if=\"country !== 'US' &#038;&#038; country !== 'CA'\">\n                                <a v-bind:href=\"mailToAddress\"><span v-html=\"content[country].questions.email\">content[country].questions.email<\/span><\/a>.\n                                We&#8217;re available                                <span v-html=\"content[country].questions.hours || 'Monday - Friday: 8:00 AM - 8:00 PM CST'\">Monday &#8211; Friday: 8:00 AM &#8211; 8:00 PM CST<\/span>.\n                            <\/span>\n                        <\/div>\n                        <input id=\"affiliate\" name=\"affiliate\" type=\"hidden\" \/>\n                        <input id=\"referrer\" name=\"referrer\" type=\"hidden\" \/>\n                        <input id=\"referral_code\" name=\"referral_code\" type=\"hidden\" \/>\n                        <input id=\"plan_profile_code\" name=\"plan_profile_code\" type=\"hidden\" \/>\n                        <input id=\"utcoffset\" name=\"utcoffset\" type=\"hidden\" \/>\n                        <input id=\"hubspot_cookie\" name=\"hubspot_cookie\" type=\"hidden\" \/>\n                        <input id=\"experiments\" name=\"experiments\" type=\"hidden\" \/>\n                        <input type=\"hidden\" id=\"gclid_field\" name=\"gclid_field\" value=\"\">\n                        <input TYPE=\"hidden\" name=\"ioBlackBox\" id=\"ioBlackBox\">\n                        <input id=\"tos_checkbox\" name=\"tos\" type=\"checkbox\" value=\"tos\" checked hidden \/>\n                        <input id=\"token_payload\" name=\"token_payload\" type=\"hidden\" value=\"\" \/>\n                        <input id=\"registration_payload\" name=\"registration_payload\" type=\"hidden\" value=\"\" \/>\n                        <input id=\"routing_owner_id\" type=\"hidden\" name=\"routing_owner_id\" value=\"\" \/>\n                        <input id=\"onboardingVariant\" name=\"onboardingVariant\" type=\"hidden\" value=\"0\" \/>\n                        <input id=\"lead_source\" type=\"hidden\" name=\"lead_source\" value=\"\" \/>\n                        <input id=\"journey_id\" name=\"journey_id\" type=\"hidden\" value=\"\" \/>\n                        <input id=\"device_type\" name=\"device_type\" type=\"hidden\" value=\"\" \/>\n                        <input id=\"AI_comms_opt_in\" name=\"AI_comms_opt_in\" type=\"hidden\" value=\"\" \/>\n                        <input id=\"targetApp\" name=\"targetApp\" type=\"hidden\" value=\"default\" \/>\n                                            <\/fieldset>\n                <\/form>\n            <\/div>\n            <div id=\"pandoraPixels\" style=\"display: none;\"><\/div>\n        <\/section>\n    <\/div>\n\n    <!-- Deferred: iovation-ff.js only sets up the device-fingerprint loader (writes to\n         the #ioBlackBox hidden input, which is already in the DOM above this tag) and\n         fires its own async fingerprinting requests. Nothing reads window.IGLOO or the\n         blackbox value until form submission (submitRegistrationForm), which happens\n         well after DOMContentLoaded, so deferring is safe. -->\n    <script src=\"https:\/\/www.shipstation.com\/wp-content\/themes\/shipstation-blocks\/iovation\/iovation-ff.js?v=1787657311\" type=\"text\/javascript\" defer><\/script>\n            <!-- Deferred so it executes after its deferred dependencies (jquery.validate,\n             cookieSetup \u2014 see header.php) have run. `defer` preserves document order\n             and executes before DOMContentLoaded, so register.js's top-level globals\n             (e.g. autoAddFreeCouponByCountry) and $(document).ready setup are in place\n             before any ready callback or Vue method that uses them fires. -->\n        <script src=\"https:\/\/www.shipstation.com\/wp-content\/themes\/shipstation-blocks\/js\/register.js?v=1787657311\" type=\"text\/javascript\" defer><\/script>\n    \n    <!-- Initialize landingPageModule script if it is being used -->\n        <script>\n        document.addEventListener('DOMContentLoaded', (event) => {\n                if ( window.UAParser ) {\n                    var device = new UAParser().getDevice();\n                    document.getElementById('device_type').value = device.type ? device.type : 'desktop';\n                }\n        });\n    <\/script>\n    <script type=\"text\/javascript\">\n        \/\/ Cookie reads\/writes use the native ss_get_cookie \/ ss_cookie helpers from\n        \/\/ js\/utils\/cookieSetup.js (deferred in header.php). This replaces the\n        \/\/ jquery-cookie ($.cookie) plugin, which is no longer loaded on the page, so\n        \/\/ this form's cookie logic doesn't depend on that plugin's presence\/timing.\n        \/\/ ss_get_cookie returns null when absent; ss_cookie(name, val, expires) accepts\n        \/\/ a Date, a number of days, or undefined (60-day default).\n        \/\/\n        \/\/ Exposed as a plain function (not auto-run on DOMContentLoaded) and invoked from\n        \/\/ the Vue mounted() hook below. Vue's initial mount fully replaces #signup_form's\n        \/\/ DOM from its compiled template\/data, so anything written to #coupon\/#referral_code\n        \/\/ before that mount -- e.g. from an earlier DOMContentLoaded listener -- gets\n        \/\/ discarded the moment Vue takes over; running after mounted() guarantees the\n        \/\/ fields we're filling are the ones that actually persist on the page.\n        function ss_populateSignupCookieFields() {\n\n            const expires = new Date();\n            expires.setHours(expires.getHours() + 5);\n            \n            \/\/ If Coupon exist as cookie, auto fill coupon with code\n            if (ss_get_cookie('coupon')) {\n                $('input[name=\"coupon\"]').val(ss_get_cookie('coupon'));\n            } else if (ss_get_cookie('referral_code')?.includes(\"gppc\") || ss_get_cookie('referral_code')?.includes(\"bppc\")) {\n                \/\/ If ref parameter includes gppc or bppc, then hide coupon input parent\n                $('input[name=\"coupon\"]').parent().hide();\n\n                \/\/ Check if allowedValues were selected in the howdidyouhearaboutus field. Show Coupon field if value is selected\n                const allowedValues = ['Radio \/ Streaming Audio \/ SiriusXM', 'TV Commercial', 'Podcast \/ Youtube'];\n                $(\"#howdidyouhearaboutus\").change(() => {\n                    if (allowedValues.includes($(\"#howdidyouhearaboutus\").val())) {\n                        $('input[name=\"coupon\"]').parent().show();\n                    } else {\n                        $('input[name=\"coupon\"]').parent().hide();\n                    }\n                });\n            } else {\n                            }\n\n            $('#hubspot_cookie').val(ss_get_cookie('hubspotutk'));\n\n            \/\/Pandora Pixels Begin\n            if (ss_get_cookie('pandoraPixel')) {\n                var pixelVals = ss_get_cookie('pandoraPixel').split('.')\n                if (pixelVals.length == 3) {\n                    var oid = pixelVals[0];\n                    var aid = pixelVals[1];\n                    var cid = pixelVals[2];\n                    if (oid !== undefined || aid !== undefined || cid !== undefined) {\n                        $('#pandoraPixels').append(\n                            '<img decoding=\"async\" src=\"http:\/\/stats.pandora.com\/tracking\/868105\/type::ad_tracking_pixel\/ctype::shipstation\/etype::start_registration\/oid::' +\n                            oid + '\/aid::' + aid + '\/cid::' + cid + '\">')\n                    }\n                }\n            }\n\n            \n        }\n    <\/script>\n    <!-- Deferred: step1-content.js only declares the top-level `content` data object.\n         It's read solely inside the Vue `mounted()` hook (this.content = content;),\n         which \u2014 like the Vue instantiation below \u2014 runs inside the DOMContentLoaded\n         listener, i.e. after all deferred scripts (including this one) have executed\n         in document order. -->\n    <script src=\"https:\/\/www.shipstation.com\/wp-content\/themes\/shipstation-blocks\/js\/step1-content.js?v=1787657311\" type=\"text\/javascript\" defer><\/script>\n    <script>\n        const paramsString = window.location.search;\n        let searchParams = initSearchParams(paramsString);\n        const overwriteHideFields = [\"howdidyouhearaboutus\",\"country\"] || [];\n        \n        \/\/ Set experiment flag for conditional field requirements\n        window.requireHowDidYouHearAboutUs = false;\n        const overwriteHowDidYouHearAboutUs = \"Other\";\n        const language = \"en-us\";\n        const shipmentVolumeDefault = 'Select your current number of shipments per month';\n        const shipmentVolumeOptions = {\"1\":\"I only need to ship one package\",\"50\":\"50 shipments or less, I'm just getting started\",\"500\":\"51-500 shipments\",\"1000\":\"501-1,000 shipments\",\"1500\":\"501-1,500 shipments\",\"2000\":\"1,001-2,000 shipments\",\"3000\":\"501-3,000 shipments\",\"5000\":\"2,001-5,000 shipments\",\"6000\":\"3,001-6,000 shipments\",\"7500\":\"5,001-7,500 shipments\",\"7499\":\"3,001-7,500 shipments\",\"7501\":\"7,501+ shipments\",\"10000\":\"3,001-10,000 shipments\",\"10001\":\"10,001+ shipments\",\"20000\":\"10,001+ shipments\",\"0\":\"I don't plan to ship anything\"};\n        const emailBlacklistEnabled = false;\n        const emailBlacklistDomains = [];\n        const emailBlacklistMessage = \"Please enter a valid business email address\";\n\n        \/\/ Vue is loaded with `defer`, so it executes after the document is parsed\n        \/\/ but before DOMContentLoaded. Instantiating inside this listener guarantees\n        \/\/ the Vue global is available when `new Vue(...)` runs.\n        var signupForm;\n        document.addEventListener('DOMContentLoaded', function () {\n        signupForm = new Vue({\n            el: '#signup_form',\n            name: \"signup_form\",\n            data: {\n                country: 'US',\n                content: null,\n                hideFields: [],\n                firstName: '',\n                lastName: '',\n                company: '',\n                email: '',\n                phone: '',\n                password: '',\n                shipmentVolume: '',\n                howDidYouHearAboutUs: '',\n                selectHowDidYouHearAboutUs: '',\n                coupon: '',\n                showPassword: false,\n                searchParams: '',\n                \/\/ Set once the visitor picks a country themselves, so the async geo result\n                \/\/ can't overwrite their choice. Written from country-variant.php's @change.\n                countryTouched: false,\n                \/\/ The resolved home_country, held reactively so showField() re-evaluates when\n                \/\/ geo lands. Reading ss_get_cookie() there instead would not: Vue cannot track\n                \/\/ document.cookie, so the v-show binding would only re-run incidentally when\n                \/\/ some other dep in the render happened to change.\n                \/\/\n                \/\/ Seeded here rather than in mounted() because mounted() runs AFTER the first\n                \/\/ render \u2014 starting at null would show the country row for one frame before\n                \/\/ hiding it again for US visitors whose config lists `country` in hideFields.\n                \/\/ geoCountry.js has already written the cookie synchronously by this point.\n                resolvedHomeCountry: (typeof ss_get_cookie === 'function' && ss_get_cookie('home_country'))\n                    ? ss_get_cookie('home_country').toUpperCase()\n                    : null,\n                ssoOnboarding: false,\n            },\n            created() {\n                this.companyRequired = ['FR', 'GB'];\n                this.phoneNumberRequired = ['GB'];\n                this.shipmentVolumeShouldMove = ['AU', 'GB', \"FR\", \"DE\"];\n                this.euCountries = ['GB', 'FR', 'DE'];\n                this.anzCountries = ['AU', 'NZ'];\n            },\n            mounted() {\n                this.content = content;\n                this.updateFieldsFromQueryParam();\n\n                \/\/ Provisional pass. src\/js\/util\/geoCountry.js has already written a\n                \/\/ home_country synchronously \u2014 the final value on every pageview after the\n                \/\/ first, since the geo lookup is cached for 24h. Only a genuine first visit\n                \/\/ gets upgraded later, by the ssOnHomeCountry callback below.\n                \/\/\n                \/\/ The cookie holds a RAW ISO code (NL, IE, DE) because that is what gets\n                \/\/ posted to ss2.shipstation.com and HubSpot. ssFormCountry() maps it to an\n                \/\/ option this <select> actually has (IE -> GB, FR-CA -> CA) and returns ''\n                \/\/ for anything with no option, which the content[] guard below turns into US.\n                this.applyResolvedHomeCountry(ss_get_cookie('home_country'));\n\n                if (!this.content[this.country]) {\n                    this.country = 'US';\n                }\n\n\n\n                \/\/ Set up HDYHAU field after DOM elements have loaded\n                this.$nextTick(() => {\n                    this.referralSourceSetup()\n                    this.updateShipmentVolume();\n                });\n\n\n                this.companyFieldCheck();\n\n                \/\/ Runs after this tick's reactive assignments above (country, hideFields,\n                \/\/ etc.) have been flushed to the DOM. Calling it any earlier in mounted()\n                \/\/ is unreliable: Vue batches its own re-render asynchronously, so a\n                \/\/ reactive change made later in this same function (e.g. this.country =)\n                \/\/ still triggers a DOM patch that overwrites a plain, non-v-model input's\n                \/\/ value even if it was set synchronously beforehand.\n                this.$nextTick(ss_populateSignupCookieFields);\n\n                \/\/ This mount just rebuilt #signup_form's DOM, discarding any jQuery Validate\n                \/\/ binding, event handler, or hidden-field value the registration script\n                \/\/ (register.js \/ a partner bundle \/ landingPageModule) set against the\n                \/\/ pre-mount form. Signal readiness so that script (re)binds everything to the\n                \/\/ LIVE form. Firing from the trailing $nextTick -- after all reactive\n                \/\/ assignments above have flushed -- is what makes it reliable regardless of\n                \/\/ whether the deferred script's $(document).ready ran before or after this\n                \/\/ mount (root cause of validation working only \"half the time\"). See\n                \/\/ ssOnSignupFormReady \/ ssSignalSignupFormReady in js\/utils\/cookieSetup.js.\n                \/\/\n                \/\/ Gated behind ssOnHomeCountry so those callbacks always see the FINAL country.\n                \/\/ js\/register.js:636 picks its jQuery Validate `messages` once at bind time\n                \/\/ from getHomeCountry(), and js\/landingPageModule.js:169-177 plus\n                \/\/ partners-lp-app-integration\/partners.js:315-337 read the country during\n                \/\/ their init \u2014 so signalling before geo resolves would bind US copy and US ToS\n                \/\/ links for a GB visitor. ssOnHomeCountry fires immediately when the value came\n                \/\/ from the cookie (the common case) and always settles within ~1s even if\n                \/\/ \/cdn-cgi\/trace hangs, so validation can never be left unbound.\n                var vm = this;\n                this.$nextTick(function () {\n                    var signal = function () {\n                        if (typeof ssSignalSignupFormReady === 'function') {\n                            ssSignalSignupFormReady();\n                        }\n                    };\n\n                    if (typeof ssOnHomeCountry !== 'function') {\n                        signal();\n                        return;\n                    }\n\n                    ssOnHomeCountry(function (country) {\n                        vm.applyResolvedHomeCountry(country);\n                        vm.$nextTick(signal);\n                    });\n                });\n            },\n            watch: {\n                country(newVal, oldVal) {\n                    this.companyFieldCheck();\n                    this.companyRequiredValidation();\n                    this.phoneNumberRequiredValidation();\n                    \n                    this.$nextTick(() => {\n                        this.updateShipmentVolume();\n                    });\n                },\n                shipmentVolume(newVal) {\n                    \/\/ Add in a watcher for the shipment volume field to remove the error class if a valid value is selected.\n                    if (newVal !== 'default') {\n                        $('#shipment_volume').removeClass('error');\n                        $('#shipment_volume').closest('.row').find('label.error').remove();\n                        $('#shipment_volume').valid();\n                    }\n                },\n            },\n            computed: {\n                mailToAddress: function() {\n                    const email = this.content[this.country].questions.email;\n                    return `mailto:${email}`;\n                }\n            },\n            methods: {\n                updateShipmentVolume() {\n                    const urlParams = new URLSearchParams(window.location.search);\n                    const volume = urlParams.get('shipmentVolume');\n\n                    \/\/ Volume mappings by region\n                    const volumeMappings = {\n                        default: ['1', '50', '500', '1000', '2000', '5000', '7500', '7501', '0'],\n                        eu: ['1', '50', '500', '3000', '10000', '10001'],\n                        anz: ['1', '50', '500', '3000', '7499', '7501', '0']\n                    };\n\n                    \/\/ Determine which volume mapping to use based on country\n                    const shipmentVolumeValues = this.euCountries.includes(this.country)\n                        ? volumeMappings.eu\n                        : this.anzCountries.includes(this.country)\n                            ? volumeMappings.anz\n                            : volumeMappings.default;\n\n                    \/\/ Build options string with default first\n                    let shipmentVolumeHtmlString = `<option value=\"default\" ${!volume ? 'selected' : ''} disabled>${shipmentVolumeDefault}<\/option>`;\n\n                    \/\/ Add other options\n                    shipmentVolumeValues.forEach(value => {\n                        shipmentVolumeHtmlString += `<option value=\"${value}\" ${volume === value ? 'selected' : ''}>${shipmentVolumeOptions[value]}<\/option>`;\n                    });\n\n                    \/\/ Get the select element directly\n                    const selectElement = document.getElementById('shipment_volume');\n\n                    if (selectElement) {\n                        \/\/ Update the options\n                        selectElement.innerHTML = shipmentVolumeHtmlString;\n                    }\n                },\n                createQueryStringFromObject(params) {\n                    let paramList = [];\n                    for (const [key, value] of Object.entries(params)) {\n                        if (value) {\n                            paramList.push(`${key}=${value}`);\n                        }\n                    }\n                    let queryString = \"\";\n                    if (paramList.length) {\n                        queryString += \"?\" + paramList.join(\"&\");\n                    }\n                    return queryString;\n                },\n                \/\/ content is rendered based on key lookup, used default if not found\n                getTranslation(KEY, DEFAULT = '') {\n                    return this.content[this.country][KEY] ? this.content[this.country][KEY] : DEFAULT;\n                },\n                restrictToNumbers() {\n                    \/\/ Allow leading + for international numbers, then only digits\n                    var hasPlus = this.phone.charAt(0) === '+';\n                    this.phone = this.phone.replace(\/[^\\d]\/g, '');\n                    if (hasPlus) this.phone = '+' + this.phone;\n                },\n                companyFieldCheck() {\n                    \/\/ Company is required (and therefore must be shown) for FR\/GB, even if\n                    \/\/ it was placed in hideFields.\n                    if (this.companyRequired.includes(this.country)) {\n                        this.hideFields = this.hideFields.filter(field => field !== 'company');\n                    }\n                },\n                companyRequiredValidation() {\n\n                    if (this.companyRequired.includes(this.country)) {\n                        \/\/ Make \"Company\" field required if country selected is FR or GB\n                        $(\"#reg-compname\").rules(\"add\", {\n                            required: true\n                        });\n                    } else {\n                        \/\/ Otherwise clear out required rule on element\n                        $(\"#reg-compname\").rules(\"add\", {\n                            required: false\n                        });\n                    }\n                },\n                phoneNumberRequiredValidation() {\n                    \/\/ Phone is required only for GB (based on main country)\n                    if (this.phoneNumberRequired.includes(this.country)) {\n                        $(\"#phone\").rules(\"add\", {\n                            required: true\n                        });\n                    } else {\n                        $(\"#phone\").rules(\"add\", {\n                            required: false\n                        });\n                    }\n                },\n                referralSourceSetup() {\n                    \/\/ Only run for dropdown variant (not autocomplete)\n                    if (!this.$refs.referral_source) {\n                        return;\n                    }\n                    \n                    if (this.howDidYouHearAboutUs) {\n                        \/\/ Retrieve array of possible values from HDYHAU select input\n                        const optionElements = this.$refs.referral_source.options;\n                        const options = Array.from(optionElements).map(option => option.value);\n\n                        if (options.includes(this.howDidYouHearAboutUs)) {\n                            this.selectHowDidYouHearAboutUs = this.howDidYouHearAboutUs;\n                        } else {\n                            this.selectHowDidYouHearAboutUs = 'Other';\n                        }\n                    }\n                },\n                showField(fieldName) {\n                    \/\/ Convert values to lowercase so comparison is case insensitive\n                    const formattedFieldName = fieldName.toLowerCase();\n                    let formattedHideFields = this.hideFields.map(field => field.toLowerCase());\n\n                    const formattedOverwriteHideFields = overwriteHideFields.map(field => field.toLowerCase());\n\n                    formattedHideFields = formattedHideFields.concat(formattedOverwriteHideFields);\n\n                    \/\/ If country is not US, then show country field.\n                    \/\/\n                    \/\/ Reads the reactive copy rather than the cookie so this re-evaluates when\n                    \/\/ geo lands. The `!== 'US'` comparison is deliberately left as-is, null\n                    \/\/ case included: an unmapped visitor (say NL) has this.country forced to\n                    \/\/ 'US' by the content[] guard in mounted() while resolvedHomeCountry stays\n                    \/\/ 'NL', so the row shows and they can pick \"Other\". Tightening the\n                    \/\/ comparison would hide the field from exactly the people who need it.\n                    \/\/\n                    \/\/ This is also what keeps a geo-derived GB\/FR\/DE \u2014 the only values that map\n                    \/\/ to a non-US billing plan in getBillingPlanCode() \u2014 visible and correctable\n                    \/\/ rather than silent. See the note in src\/js\/util\/geoCountry.js.\n                    if (formattedFieldName === 'country' && this.resolvedHomeCountry !== 'US') {\n                        return true;\n                    }\n\n                    \/\/ Return False if fieldName is in hideFields array\n                    return !formattedHideFields.includes(formattedFieldName);\n                },\n                getFieldFromQuery(fieldName) {\n                    \/\/ Convert to lowercase before comparison\n                    const formattedName = fieldName.toLowerCase();\n                    return searchParams.get(formattedName) ? decodeURIComponent(searchParams.get(formattedName)) : '';\n                },\n                updateFieldsFromQueryParam() {\n                    this.hideFields = this.getFieldFromQuery('hideFields')?.split(',') || [];\n                    this.country = this.getFieldFromQuery('country')?.toUpperCase() || 'US';\n                    this.firstName = this.getFieldFromQuery('firstName');\n                    this.lastName = this.getFieldFromQuery('lastName');\n                    this.company = this.getFieldFromQuery('company');\n                    this.email = this.getFieldFromQuery('email');\n                    this.phone = this.getFieldFromQuery('phone');\n                    this.shipmentVolume = this.getFieldFromQuery('shipmentVolume');\n                    this.howDidYouHearAboutUs = this.getFieldFromQuery('howDidYouHearAboutUs') || overwriteHowDidYouHearAboutUs;\n                    this.coupon = this.getFieldFromQuery('coupon') || 'FREE30';\n                },\n                toggleShowPassword() {\n                    this.showPassword = !this.showPassword;\n                },\n                onCountryChange() {\n                    \/\/ The visitor picked a country. Latch it so a late geo result leaves it be.\n                    this.countryTouched = true;\n                },\n                applyResolvedHomeCountry(rawCountry) {\n                    if (!rawCountry) {\n                        return;\n                    }\n\n                    this.resolvedHomeCountry = String(rawCountry).toUpperCase();\n\n                    \/\/ ?country= is an explicit request for a specific form state, and a country\n                    \/\/ the visitor selected outranks anything we derive.\n                    if (searchParams.has('country') || this.countryTouched) {\n                        return;\n                    }\n\n                    const formCountry = typeof ssFormCountry === 'function'\n                        ? ssFormCountry(this.resolvedHomeCountry)\n                        : '';\n\n                    \/\/ Assigning this.country lets the existing `watch: country` handler do the\n                    \/\/ rest \u2014 companyFieldCheck, the required-field validation, the shipment\n                    \/\/ volume move. No extra plumbing needed.\n                    if (formCountry && this.content && this.content[formCountry]) {\n                        this.country = formCountry;\n                    }\n                }\n            }\n        });\n        });\n\n        \/\/ Convert search params to lowercase so queries are case insensitive\n        function initSearchParams(paramString) {\n            const rawParams = new URLSearchParams(paramString);\n            let formattedParams = new URLSearchParams();\n\n            for (const [name, value] of rawParams) {\n                formattedParams.append(name.toLowerCase(), value);\n            }\n\n            return formattedParams;\n        }\n    <\/script>\n\n    <script>\n        \/\/ DOMContentLoaded (not $(document).ready) so this inline block doesn't reference\n        \/\/ jQuery at parse time -- lets jQuery load deferred. jQuery is available by\n        \/\/ DOMContentLoaded, and #recaptcha-legal is in the DOM by then.\n        document.addEventListener('DOMContentLoaded', function() {\n            $('#recaptcha-legal').appendTo('.copy-container');\n            $('#recaptcha-legal').addClass('legal-footer').show();\n        })\n    <\/script>\n\n    <!-- Lazy-load reCAPTCHA to improve LCP performance. Deferred: recaptcha-loader.js\n         is an IIFE that assigns window.RecaptchaLazyLoader at the top level (no\n         DOMContentLoaded dependency of its own). `defer` preserves document order and\n         runs it before DOMContentLoaded, so the init script below \u2014 which itself waits\n         for DOMContentLoaded when needed \u2014 always finds RecaptchaLazyLoader defined,\n         whether the DOM is still parsing or already ready. -->\n    <!-- cacheBuster: the ss\/registration block enqueues this SAME file with a\n         filemtime version. Without a version here the two references are different\n         URLs, so the file can load twice and a STALE cached copy could win and\n         clobber window.RecaptchaLazyLoader (dropping execute(), which the block's\n         submit depends on). Same versioned URL = one load, always fresh. -->\n    <script src=\"https:\/\/www.shipstation.com\/wp-content\/themes\/shipstation-blocks\/js\/utils\/recaptcha-loader.js?v=1787657311\" defer><\/script>\n    <script>\n        \/\/ Initialize lazy-loading for the signup form\n        (function() {\n            \/\/ Wait for DOM to be ready\n            if (document.readyState === 'loading') {\n                document.addEventListener('DOMContentLoaded', initLazyRecaptcha);\n            } else {\n                initLazyRecaptcha();\n            }\n\n            function initLazyRecaptcha() {\n                RecaptchaLazyLoader.init('#registration-form', {\n                    rootMargin: '200px',        \/\/ Start loading when form is 200px from viewport\n                    loadOnInteraction: true,    \/\/ Also load on user interaction (focus\/click)\n                    interactionEvents: ['focus', 'click', 'touchstart']\n                });\n            }\n        })();\n    <\/script>\n<\/div><\/p>\n\n<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\t\t\n\t<\/div>\n<\/div>\n<\/div><\/section>\n\n<style>\n<p>.form-long-block .container .form-columns .content ul li {<br \/>\nline-height: 1.3 !important;<br \/>\n}<\/p>\n<p>.register-form .container {<br \/>\npadding-left: 0;<br \/>\npadding-right: 0;<br \/>\n}<\/p>\n<p>@media screen and (max-width:768px) {<\/p>\n<p>.form-columns {<br \/>\nflex-flow: column-reverse !important;<br \/>\n}<br \/>\n}<\/p>\n<p>#registration-form .form-layout {<br \/>\n\tflex-direction: column !important;<br \/>\n\tmax-height: unset !important;<br \/>\n}<\/p>\n<p>#registration-form .form-layout.form-names {<br \/>\n\tflex-direction: row !important;<br \/>\n\tmax-height: 90px !important;<br \/>\n\tgap: 16px !important;<br \/>\n}<\/p>\n<p>#registration-form .row:first-child {<br \/>\n\tmargin-right: 0 !important;<br \/>\n}<br \/>\n#registration-form h3.form-title {<br \/>\nfont-size: 24px !important;<br \/>\n}<\/p>\n<p>.form-long-block .container .form-columns .form .form-content {<br \/>\npadding-top: 2rem !important;<br \/>\n}<\/p>\n<p>#registration-form input {<br \/>\nheight: 40px !important;<br \/>\n}<\/p>\n<p>.signup-form-container #signup .btn,<br \/>\n.signup-form-container #signup #save-button {<br \/>\n  height: 56px;<br \/>\n  font-weight: 700;<br \/>\n  margin-bottom: 16px;<br \/>\n  border-radius: 5px;<br \/>\n  border: none !important;<br \/>\n  width: 100%;<br \/>\n}<\/p>\n<p>#registration-form .disclaimer_text,<br \/>\n#registration-form .terms {<br \/>\nfont-size: 12px !important;<br \/>\n}<\/p>\n<p>@media screen and (max-width: 768px) {<br \/>\n    .block-form-long .form-columns {<br \/>\n        flex-flow: column !important;<br \/>\n    }<br \/>\n}<\/p>\n<\/style>\n\n\n<style>\n@media (min-width: 1280px) {\n    #registration-form .form-layout {\n        max-height: none !important;\n    }\n.phone-format-hint {\n    font-size: 14px;\n    margin-bottom: 24px;\n}\n}\n\n<\/style>\n\n\n\n<section class=\"wp-block-shipstation-faqs block not-prose\">\n    <div class=\"background--full content--md\">\n        <div class=\"accordion-block\">\n            <div class=\"container\">\n                    <div class=\"content content-align-center items-center content-width-md\">\n                                        \n                                            <h3>USPS shipping rates FAQ for ecommerce teams<\/h3>\n                                        \n                                        \n                                        \n                                    <\/div>\n                        <div class=\"accordions\">\n                                            <div class=\"accordion\">\n                            <div class=\"question\" role=\"button\" tabindex=\"0\" aria-expanded=\"false\">\n                                <h5>What drives USPS shipping rates the most?<\/h5>\n                                <div class=\"icon\">\n                                    <svg class=\"span-2\" width=\"16\" height=\"17\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\">\n                                        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M19.5 8.25l-7.5 7.5-7.5-7.5\" \/>\n                                    <\/svg>\n                                <\/div>\n                            <\/div>\n                            <div class=\"body-content\">\n                                <div class=\"prose\"><p>Weight, dimensions, distance, and service speed have the biggest impact. That&#8217;s why an accurate USPS shipping cost breakdown starts with precise package details and the right package type.<\/p>\n<\/div>\n                            <\/div>\n                        <\/div>\n                                            <div class=\"accordion\">\n                            <div class=\"question\" role=\"button\" tabindex=\"0\" aria-expanded=\"false\">\n                                <h5>How can I compare USPS service level pricing without doing it manually?<\/h5>\n                                <div class=\"icon\">\n                                    <svg class=\"span-2\" width=\"16\" height=\"17\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\">\n                                        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M19.5 8.25l-7.5 7.5-7.5-7.5\" \/>\n                                    <\/svg>\n                                <\/div>\n                            <\/div>\n                            <div class=\"body-content\">\n                                <div class=\"prose\"><p>Use ShipStation\u2019s Rate Shopper to view options at label time. Compare USPS service-level pricing across USPS services and other carriers\u2014all from the same screen.<\/p>\n<\/div>\n                            <\/div>\n                        <\/div>\n                                            <div class=\"accordion\">\n                            <div class=\"question\" role=\"button\" tabindex=\"0\" aria-expanded=\"false\">\n                                <h5>How do I calculate postage by weight and dimensions for more accurate labels?<\/h5>\n                                <div class=\"icon\">\n                                    <svg class=\"span-2\" width=\"16\" height=\"17\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\">\n                                        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M19.5 8.25l-7.5 7.5-7.5-7.5\" \/>\n                                    <\/svg>\n                                <\/div>\n                            <\/div>\n                            <div class=\"body-content\">\n                                <div class=\"prose\"><p>Measure the box and weigh the packed order, then enter both in ShipStation. Save presets so repeat orders rate consistently every time.<\/p>\n<\/div>\n                            <\/div>\n                        <\/div>\n                                            <div class=\"accordion\">\n                            <div class=\"question\" role=\"button\" tabindex=\"0\" aria-expanded=\"false\">\n                                <h5>Are flat rate box shipping costs always the best deal?<\/h5>\n                                <div class=\"icon\">\n                                    <svg class=\"span-2\" width=\"16\" height=\"17\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\">\n                                        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M19.5 8.25l-7.5 7.5-7.5-7.5\" \/>\n                                    <\/svg>\n                                <\/div>\n                            <\/div>\n                            <div class=\"body-content\">\n                                <div class=\"prose\"><p>Not always. Flat rate can be a smart choice for dense, heavy items, but standard packaging may cost less for lighter orders or shorter zones. ShipStation makes those tradeoffs easy to compare at a glance.<\/p>\n<\/div>\n                            <\/div>\n                        <\/div>\n                                            <div class=\"accordion\">\n                            <div class=\"question\" role=\"button\" tabindex=\"0\" aria-expanded=\"false\">\n                                <h5>What should I know about the Ground Advantage\u00ae pricing structure?<\/h5>\n                                <div class=\"icon\">\n                                    <svg class=\"span-2\" width=\"16\" height=\"17\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\">\n                                        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M19.5 8.25l-7.5 7.5-7.5-7.5\" \/>\n                                    <\/svg>\n                                <\/div>\n                            <\/div>\n                            <div class=\"body-content\">\n                                <div class=\"prose\"><p>It&#8217;s built for cost-effective ground delivery and works well with many ecommerce orders. In ShipStation, you can see Ground Advantage eligibility and compare it to faster services before you print.<\/p>\n<\/div>\n                            <\/div>\n                        <\/div>\n                                            <div class=\"accordion\">\n                            <div class=\"question\" role=\"button\" tabindex=\"0\" aria-expanded=\"false\">\n                                <h5>What are scalable USPS shipping solutions for a growing brand?<\/h5>\n                                <div class=\"icon\">\n                                    <svg class=\"span-2\" width=\"16\" height=\"17\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\">\n                                        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M19.5 8.25l-7.5 7.5-7.5-7.5\" \/>\n                                    <\/svg>\n                                <\/div>\n                            <\/div>\n                            <div class=\"body-content\">\n                                <div class=\"prose\"><p>Look for automation, batch label printing, and clear reporting. ShipStation brings scalable USPS shipping solutions together with integrations, branded tracking, returns tools, and a workflow your team can pick up quickly.<\/p>\n<\/div>\n                            <\/div>\n                        <\/div>\n                                    <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/section>\n","protected":false},"excerpt":{"rendered":"<p>View USPS shipping rates by service, weight, and zone. Compare prices instantly and unlock discounted USPS rates with ShipStation.<\/p>\n","protected":false},"author":100,"featured_media":0,"parent":74029,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_yoast_wpseo_metadesc":"View USPS shipping rates by service, weight, and zone. Compare prices instantly and unlock discounted USPS rates with ShipStation.","_ss_page_background":"","footnotes":""},"class_list":["post-76504","page","type-page","status-publish","hentry"],"acf":{"shipstation_product_type":["shipstation"],"shipstation_features":"","shipstation_company_size":"","shipstation_industry":"","shipstation_funnel_stage":""},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.5 (Yoast SEO v27.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>USPS Shipping Rates Guide &amp; Calculator - ShipStation<\/title>\n<meta name=\"description\" content=\"View USPS shipping rates by service, weight, and zone. Compare prices instantly and unlock discounted USPS rates with ShipStation.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.shipstation.com\/fulfillment\/shipping\/shipping-rates-usps\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"USPS Shipping Rates Guide &amp; Calculator\" \/>\n<meta property=\"og:description\" content=\"View USPS shipping rates by service, weight, and zone. Compare prices instantly and unlock discounted USPS rates with ShipStation.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.shipstation.com\/fulfillment\/shipping\/shipping-rates-usps\/\" \/>\n<meta property=\"og:site_name\" content=\"ShipStation\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/ShipStation\/\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-29T14:22:07+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@shipstation\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.shipstation.com\\\/fulfillment\\\/shipping\\\/shipping-rates-usps\\\/\",\"url\":\"https:\\\/\\\/www.shipstation.com\\\/fulfillment\\\/shipping\\\/shipping-rates-usps\\\/\",\"name\":\"USPS Shipping Rates Guide & Calculator - ShipStation\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.shipstation.com\\\/#website\"},\"datePublished\":\"2026-03-09T22:27:41+00:00\",\"dateModified\":\"2026-05-29T14:22:07+00:00\",\"description\":\"View USPS shipping rates by service, weight, and zone. Compare prices instantly and unlock discounted USPS rates with ShipStation.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.shipstation.com\\\/fulfillment\\\/shipping\\\/shipping-rates-usps\\\/#breadcrumb\"},\"inLanguage\":\"en-AU\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.shipstation.com\\\/fulfillment\\\/shipping\\\/shipping-rates-usps\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.shipstation.com\\\/fulfillment\\\/shipping\\\/shipping-rates-usps\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.shipstation.com\\\/en-au\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Smarter Order Fulfillment Software for Growth\",\"item\":\"https:\\\/\\\/www.shipstation.com\\\/fulfillment\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Save Time with Shipping Management Software\",\"item\":\"https:\\\/\\\/www.shipstation.com\\\/fulfillment\\\/shipping\\\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"USPS Shipping Rates Guide &#038; Calculator\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.shipstation.com\\\/#website\",\"url\":\"https:\\\/\\\/www.shipstation.com\\\/\",\"name\":\"ShipStation\",\"description\":\"The fulfillment engine behind hundreds of thousands of online sellers.\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.shipstation.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.shipstation.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-AU\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.shipstation.com\\\/#organization\",\"name\":\"ShipStation\",\"url\":\"https:\\\/\\\/www.shipstation.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-AU\",\"@id\":\"https:\\\/\\\/www.shipstation.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.shipstation.com\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/ShipStation-Lockup-DarkGreen-RGB.svg\",\"contentUrl\":\"https:\\\/\\\/www.shipstation.com\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/ShipStation-Lockup-DarkGreen-RGB.svg\",\"width\":1550,\"height\":247,\"caption\":\"ShipStation\"},\"image\":{\"@id\":\"https:\\\/\\\/www.shipstation.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/ShipStation\\\/\",\"https:\\\/\\\/x.com\\\/shipstation\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/shipstation\",\"https:\\\/\\\/www.instagram.com\\\/shipstation\\\/\"],\"aggregateRating\":{\"@type\":\"AggregateRating\",\"ratingValue\":\"4.6\",\"reviewCount\":\"897\"},\"description\":\"The fulfillment engine behind hundreds of thousands of online sellers, ShipStation combines order management, rate shopping, inventory, and returns all in one platform, delivering 15x more labels per hour and up to 90% shipping discounts through 200+ carriers.\",\"telephone\":\"(512) 886-4006\",\"numberOfEmployees\":{\"@type\":\"QuantitativeValue\",\"minValue\":\"1001\",\"maxValue\":\"5000\"}},{\"@type\":\"SoftwareApplication\",\"@id\":\"https:\\\/\\\/www.shipstation.com\\\/en-au\\\/#software-application\",\"name\":\"ShipStation\",\"url\":\"https:\\\/\\\/www.shipstation.com\\\/en-au\\\/\",\"applicationCategory\":\"BusinessApplication\",\"operatingSystem\":\"Web Browser\",\"aggregateRating\":{\"@type\":\"AggregateRating\",\"ratingValue\":\"4.6\",\"reviewCount\":\"897\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"USPS Shipping Rates Guide & Calculator - ShipStation","description":"View USPS shipping rates by service, weight, and zone. Compare prices instantly and unlock discounted USPS rates with ShipStation.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.shipstation.com\/fulfillment\/shipping\/shipping-rates-usps\/","og_locale":"en_US","og_type":"article","og_title":"USPS Shipping Rates Guide & Calculator","og_description":"View USPS shipping rates by service, weight, and zone. Compare prices instantly and unlock discounted USPS rates with ShipStation.","og_url":"https:\/\/www.shipstation.com\/fulfillment\/shipping\/shipping-rates-usps\/","og_site_name":"ShipStation","article_publisher":"https:\/\/www.facebook.com\/ShipStation\/","article_modified_time":"2026-05-29T14:22:07+00:00","twitter_card":"summary_large_image","twitter_site":"@shipstation","twitter_misc":{"Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.shipstation.com\/fulfillment\/shipping\/shipping-rates-usps\/","url":"https:\/\/www.shipstation.com\/fulfillment\/shipping\/shipping-rates-usps\/","name":"USPS Shipping Rates Guide & Calculator - ShipStation","isPartOf":{"@id":"https:\/\/www.shipstation.com\/#website"},"datePublished":"2026-03-09T22:27:41+00:00","dateModified":"2026-05-29T14:22:07+00:00","description":"View USPS shipping rates by service, weight, and zone. Compare prices instantly and unlock discounted USPS rates with ShipStation.","breadcrumb":{"@id":"https:\/\/www.shipstation.com\/fulfillment\/shipping\/shipping-rates-usps\/#breadcrumb"},"inLanguage":"en-AU","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.shipstation.com\/fulfillment\/shipping\/shipping-rates-usps\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.shipstation.com\/fulfillment\/shipping\/shipping-rates-usps\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.shipstation.com\/en-au\/"},{"@type":"ListItem","position":2,"name":"Smarter Order Fulfillment Software for Growth","item":"https:\/\/www.shipstation.com\/fulfillment\/"},{"@type":"ListItem","position":3,"name":"Save Time with Shipping Management Software","item":"https:\/\/www.shipstation.com\/fulfillment\/shipping\/"},{"@type":"ListItem","position":4,"name":"USPS Shipping Rates Guide &#038; Calculator"}]},{"@type":"WebSite","@id":"https:\/\/www.shipstation.com\/#website","url":"https:\/\/www.shipstation.com\/","name":"ShipStation","description":"The fulfillment engine behind hundreds of thousands of online sellers.","publisher":{"@id":"https:\/\/www.shipstation.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.shipstation.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-AU"},{"@type":"Organization","@id":"https:\/\/www.shipstation.com\/#organization","name":"ShipStation","url":"https:\/\/www.shipstation.com\/","logo":{"@type":"ImageObject","inLanguage":"en-AU","@id":"https:\/\/www.shipstation.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.shipstation.com\/wp-content\/uploads\/2024\/10\/ShipStation-Lockup-DarkGreen-RGB.svg","contentUrl":"https:\/\/www.shipstation.com\/wp-content\/uploads\/2024\/10\/ShipStation-Lockup-DarkGreen-RGB.svg","width":1550,"height":247,"caption":"ShipStation"},"image":{"@id":"https:\/\/www.shipstation.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/ShipStation\/","https:\/\/x.com\/shipstation","https:\/\/www.linkedin.com\/company\/shipstation","https:\/\/www.instagram.com\/shipstation\/"],"aggregateRating":{"@type":"AggregateRating","ratingValue":"4.6","reviewCount":"897"},"description":"The fulfillment engine behind hundreds of thousands of online sellers, ShipStation combines order management, rate shopping, inventory, and returns all in one platform, delivering 15x more labels per hour and up to 90% shipping discounts through 200+ carriers.","telephone":"(512) 886-4006","numberOfEmployees":{"@type":"QuantitativeValue","minValue":"1001","maxValue":"5000"}},{"@type":"SoftwareApplication","@id":"https:\/\/www.shipstation.com\/en-au\/#software-application","name":"ShipStation","url":"https:\/\/www.shipstation.com\/en-au\/","applicationCategory":"BusinessApplication","operatingSystem":"Web Browser","aggregateRating":{"@type":"AggregateRating","ratingValue":"4.6","reviewCount":"897"}}]}},"_links":{"self":[{"href":"https:\/\/www.shipstation.com\/en-au\/wp-json\/wp\/v2\/pages\/76504","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.shipstation.com\/en-au\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.shipstation.com\/en-au\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.shipstation.com\/en-au\/wp-json\/wp\/v2\/users\/100"}],"replies":[{"embeddable":true,"href":"https:\/\/www.shipstation.com\/en-au\/wp-json\/wp\/v2\/comments?post=76504"}],"version-history":[{"count":0,"href":"https:\/\/www.shipstation.com\/en-au\/wp-json\/wp\/v2\/pages\/76504\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/www.shipstation.com\/en-au\/wp-json\/wp\/v2\/pages\/74029"}],"wp:attachment":[{"href":"https:\/\/www.shipstation.com\/en-au\/wp-json\/wp\/v2\/media?parent=76504"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}