spkeyboards.com
Open in
urlscan Pro
23.227.38.65
Public Scan
Submitted URL: http://spkeyboards.com/
Effective URL: https://spkeyboards.com/
Submission: On December 16 via api from US — Scanned from CA
Effective URL: https://spkeyboards.com/
Submission: On December 16 via api from US — Scanned from CA
Form analysis
5 forms found in the DOMPOST /cart
<form id="CartDrawerForm" action="/cart" method="post" novalidate="" class="drawer__contents" data-location="cart-drawer">
<div class="drawer__fixed-header">
<div class="drawer__header appear-animation appear-delay-1">
<div class="drawer__title">Cart</div>
<div class="drawer__close">
<button type="button" class="drawer__close-button js-drawer-close">
<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64">
<title>icon-X</title>
<path d="m19 17.61 27.12 27.13m0-27.12L19 44.74"></path>
</svg>
<span class="icon__fallback-text">Close cart</span>
</button>
</div>
</div>
</div>
<div class="drawer__inner">
<div class="drawer__scrollable">
<div data-products="" class="appear-animation appear-delay-2">
<div class="cart__items" data-count="0" data-cart-subtotal="0">
</div>
</div>
</div>
<div class="drawer__footer appear-animation appear-delay-4">
<div data-discounts="">
<div class="cart__discounts hide">
<div class="cart__item-sub cart__item-row">
<div>Discounts</div>
<div class="text-right">
</div>
</div>
</div>
</div>
<div class="cart__item-sub cart__item-row">
<div class="cart__subtotal">Subtotal</div>
<div data-subtotal="">$0.00</div>
</div>
<div class="cart__item-row cart__savings text-center hide" data-savings=""></div>
<div class="cart__item-row text-center ajaxcart__note">
<small> Shipping, taxes, and discount codes calculated at checkout.<br>
</small>
</div>
<div class="cart__checkout-wrapper">
<button type="submit" name="checkout" data-terms-required="false" class="btn cart__checkout tpo-btn-checkout"> Check out </button>
<div class="additional-checkout-buttons additional-checkout-buttons--vertical" style="pointer-events: auto;">
<div class="dynamic-checkout__content" id="dynamic-checkout-cart" data-shopify="dynamic-checkout-cart"></div>
</div>
</div>
</div>
</div>
<div class="drawer__cart-empty appear-animation appear-delay-2">
<div class="drawer__scrollable"> Your cart is currently empty. </div>
</div>
</form>
GET /search
<form action="/search" method="get" role="search">
<label for="Search" class="hidden-label">Search</label>
<div class="search__input-wrap">
<input class="search__input" id="Search" type="search" name="q" value="" role="combobox" aria-expanded="false" aria-owns="predictive-search-results" aria-controls="predictive-search-results" aria-haspopup="listbox" aria-autocomplete="list"
autocorrect="off" autocomplete="off" autocapitalize="off" spellcheck="false" placeholder="Search" tabindex="0">
<input name="options[prefix]" type="hidden" value="last">
<button class="btn--search" type="submit">
<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-search" viewBox="0 0 64 64">
<defs>
<style>
.cls-1 {
fill: none;
stroke: #000;
stroke-miterlimit: 10;
stroke-width: 2px
}
</style>
</defs>
<path class="cls-1" d="M47.16 28.58A18.58 18.58 0 1 1 28.58 10a18.58 18.58 0 0 1 18.58 18.58zM54 54L41.94 42"></path>
</svg>
<span class="icon__fallback-text">Search</span>
</button>
</div>
<button class="btn--close-search">
<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64">
<defs>
<style>
.cls-1 {
fill: none;
stroke: #000;
stroke-miterlimit: 10;
stroke-width: 2px
}
</style>
</defs>
<path class="cls-1" d="M19 17.61l27.12 27.13m0-27.13L19 44.74"></path>
</svg>
</button>
<div id="predictive-search" class="search__results" tabindex="-1"></div>
</form>
<form class="needsclick klaviyo-form klaviyo-form-version-cid_1 kl-private-reset-css-Xuajs1" data-testid="klaviyo-form-UVTJYx" novalidate="" tabindex="-1"
style="display: flex; flex-direction: row; box-sizing: border-box; width: 100%; overflow: visible; max-width: 450px; margin: 0px auto; border-radius: 2px; border-style: none; border-width: 1px; border-color: rgb(0, 0, 0); background-color: rgba(255, 255, 255, 0); background-repeat: no-repeat; background-position-y: 50%; padding: 0px; flex: 1 1 0%;">
<div class="needsclick kl-private-reset-css-Xuajs1" style="display: flex; flex-direction: column; width: 100%; margin: 0px; padding: 0px; min-height: 120px; justify-content: center;">
<div data-testid="form-row" class="needsclick kl-private-reset-css-Xuajs1" style="display: flex; flex-direction: row; align-items: stretch; position: relative;">
<div component="[object Object]" data-testid="form-component" class="needsclick kl-private-reset-css-Xuajs1" style="display: flex; justify-content: flex-start; padding: 32px 10px 31px 0px; position: relative; flex: 1 0 0px;">
<div class="needsclick kl-private-reset-css-Xuajs1" style="display: flex; flex-grow: 1; flex-direction: column; align-self: flex-end;"><input id="email_86297728" class="needsclick go384305609 kl-private-reset-css-Xuajs1" type="email"
autocomplete="email" name="email" tabindex="0" placeholder="Email" aria-label="Email" aria-invalid="false" options="[object Object]"
style="box-sizing: border-box; border-radius: 4px; padding: 0px 0px 0px 16px; height: 54px; text-align: left; color: rgb(0, 0, 0); font-family: Nunito-Sans-Klaviyo-Hosted, Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 20px; font-weight: 400; letter-spacing: 0px; background-color: rgb(255, 255, 255); border: 1px solid rgb(180, 187, 195);">
<div class="needsclick kl-private-reset-css-Xuajs1" style="width: 100%; position: relative;"></div>
</div>
</div>
<div component="[object Object]" data-testid="form-component" class="needsclick kl-private-reset-css-Xuajs1" style="display: flex; justify-content: flex-start; padding: 32px 6px 31px; position: relative; flex: 0 1 auto; margin: 0px auto;">
<button class="needsclick go3894874857 kl-private-reset-css-Xuajs1" type="button" tabindex="0"
style="background: rgb(17, 17, 17); border-radius: 0px; border-style: none; border-color: rgb(29, 29, 29); border-width: 2px; color: rgb(255, 255, 255); font-family: Nunito-Sans-Klaviyo-Hosted, Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 20px; font-weight: 700; letter-spacing: 0px; line-height: 1; white-space: normal; padding: 0px 10px; text-align: center; word-break: break-word; align-self: flex-end; cursor: pointer; height: 54px;">Subscribe</button>
</div>
</div>
</div><input type="submit" tabindex="-1" value="Submit" style="display: none;">
</form>
POST /contact#newsletter-footer
<form method="post" action="/contact#newsletter-footer" id="newsletter-footer" accept-charset="UTF-8" class="contact-form"><input type="hidden" name="form_type" value="customer"><input type="hidden" name="utf8" value="✓">
<label for="Email-footer-2" class="hidden-label">Enter your email</label>
<label for="newsletter-submit-footer-2" class="hidden-label">Subscribe</label>
<input type="hidden" name="contact[tags]" value="prospect,newsletter">
<input type="hidden" name="contact[context]" value="footer">
<div class="footer__newsletter">
<input type="email" value="" placeholder="Enter your email" name="contact[email]" id="Email-footer-2" class="footer__newsletter-input" autocorrect="off" autocapitalize="off" required="">
<button type="submit" id="newsletter-submit-footer-2" class="footer__newsletter-btn" name="commit">
<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-email" viewBox="0 0 64 64">
<title>icon-email</title>
<path d="M63 52H1V12h62ZM1 12l25.68 24h9.72L63 12M21.82 31.68 1.56 51.16m60.78.78L41.27 31.68"></path>
</svg>
<span class="icon__fallback-text">Subscribe</span>
</button>
</div>
</form>
<form class="needsclick klaviyo-form klaviyo-form-version-cid_3 kl-private-reset-css-Xuajs1" data-testid="klaviyo-form-U6qsBn" novalidate="" tabindex="-1"
style="display: flex; flex-direction: row; box-sizing: border-box; width: 780px; min-width: 200px; max-width: 1000px; border-radius: 6px; border-style: none; border-width: 0px; border-color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); background-repeat: no-repeat; background-position-y: 50%; padding: 15px 40px; flex: 1 1 0%;">
<div class="needsclick kl-private-reset-css-Xuajs1"
style="display: flex; flex-direction: column; width: 260px; margin: -15px 0px -15px -40px; padding: 0px; border-top: 0px solid transparent; border-right: 0px; border-bottom: 0px solid transparent; border-left: 0px solid transparent; border-bottom-left-radius: 6px; border-top-left-radius: 6px; overflow: hidden; min-width: 260px; min-height: 470px;">
<div class="needsclick kl-private-reset-css-Xuajs1"
style="background-image: url("https://d3k81ch9hvuctc.cloudfront.net/company/HciJ8A/images/63e47a40-d1d6-4898-9f9f-3de83478f7bf.png"); background-repeat: no-repeat; background-size: cover; background-position: 50% 50%; width: 100%; height: 100%; display: block;">
</div>
</div>
<div class="needsclick kl-private-reset-css-Xuajs1" style="display: flex; flex-direction: column; width: 100%; margin: 0px; padding: 0px 0px 0px 40px; min-height: 470px; justify-content: center;">
<div data-testid="form-row" class="needsclick kl-private-reset-css-Xuajs1" style="display: flex; flex-direction: row; align-items: stretch; position: relative;">
<div component="[object Object]" data-testid="form-component" class="needsclick kl-private-reset-css-Xuajs1" style="display: flex; justify-content: flex-start; padding: 30px 6px 10px; position: relative; flex: 1 0 0px;">
<div class="kl-private-reset-css-Xuajs1 go3176171171" id="rich-text-88187796" style="width: 100%;">
<p style="text-align: center; font-size: 14px; font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif; font-weight: 400;"><span class="ql-font-kanit"
style="font-size: 48px; color: #373f47; font-family: Raleway, Arial, 'Helvetica Neue', Helvetica, sans-serif; font-weight: 400;">Unlock 10% off your first order</span></p>
</div>
</div>
</div>
<div data-testid="form-row" class="needsclick kl-private-reset-css-Xuajs1" style="display: flex; flex-direction: row; align-items: stretch; position: relative;">
<div component="[object Object]" data-testid="form-component" class="needsclick kl-private-reset-css-Xuajs1" style="display: flex; justify-content: flex-start; padding: 0px 6px 10px; position: relative; flex: 1 0 0px;">
<div class="kl-private-reset-css-Xuajs1 go3176171171" id="rich-text-88187797" style="width: 100%;">
<p style="text-align: center; font-size: 14px; font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif; font-weight: 400;"><span class="ql-font-kanit"
style="color: #373f47; font-size: 18px; font-family: Raleway, Arial, 'Helvetica Neue', Helvetica, sans-serif; font-weight: 400;">Join our Keycap Club for special offers</span></p>
</div>
</div>
</div>
<div data-testid="form-row" class="needsclick kl-private-reset-css-Xuajs1" style="display: flex; flex-direction: row; align-items: stretch; position: relative;">
<div component="[object Object]" data-testid="form-component" class="needsclick kl-private-reset-css-Xuajs1" style="display: flex; justify-content: flex-start; padding: 20px 6px 10px; position: relative; flex: 1 0 0px;">
<div class="needsclick kl-private-reset-css-Xuajs1" style="display: flex; flex-grow: 1; flex-direction: column; align-self: flex-end;"><input id="email_88187798" class="needsclick go553577896 kl-private-reset-css-Xuajs1" type="email"
autocomplete="email" name="email" tabindex="0" placeholder="Email" aria-label="Email" aria-invalid="false" options="[object Object]"
style="box-sizing: border-box; border-radius: 0px; padding: 0px 0px 0px 16px; height: 50px; text-align: left; color: rgb(0, 0, 0); font-family: Raleway, Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 16px; font-weight: 400; letter-spacing: 0px; background-color: rgb(255, 255, 255); border: 1px solid rgb(96, 106, 114);">
<div class="needsclick kl-private-reset-css-Xuajs1" style="width: 100%; position: relative;"></div>
</div>
</div>
</div>
<div data-testid="form-row" class="needsclick kl-private-reset-css-Xuajs1" style="display: flex; flex-direction: row; align-items: stretch; position: relative;">
<div component="[object Object]" data-testid="form-component" class="needsclick kl-private-reset-css-Xuajs1" style="display: flex; justify-content: flex-start; padding: 0px 6px; position: relative; flex: 1 0 0px;"><button
class="needsclick go952291206 kl-private-reset-css-Xuajs1" type="button" tabindex="0"
style="background: rgb(17, 17, 17); border-radius: 0px; border-style: none; border-color: rgb(21, 117, 81); border-width: 2px; color: rgb(255, 255, 255); font-family: Raleway, Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 20px; font-weight: 400; letter-spacing: 0px; line-height: 1; white-space: normal; padding-top: 0px; padding-bottom: 0px; text-align: center; word-break: break-word; align-self: flex-end; cursor: pointer; height: 54px; width: 100%;">Unlock
Offer</button></div>
</div>
<div data-testid="form-row" class="needsclick kl-private-reset-css-Xuajs1" style="display: flex; flex-direction: row; align-items: stretch; position: relative;">
<div component="[object Object]" data-testid="form-component" class="needsclick kl-private-reset-css-Xuajs1" style="display: flex; justify-content: flex-start; padding: 10px 25px 30px; position: relative; flex: 1 0 0px;">
<div class="kl-private-reset-css-Xuajs1 go3176171171" id="rich-text-88187800" style="width: 100%;">
<p style="text-align: center; font-size: 14px; font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif; font-weight: 400;"><span class="ql-font-kanit"
style="color: #606a72; font-size: 14px; font-family: Raleway, Arial, 'Helvetica Neue', Helvetica, sans-serif; font-weight: 400;">By signing up, you agree to receive email marketing</span></p>
</div>
</div>
</div>
<div data-testid="form-row" class="needsclick kl-private-reset-css-Xuajs1" style="display: flex; flex-direction: row; align-items: stretch; position: relative;">
<div component="[object Object]" data-testid="form-component" class="needsclick kl-private-reset-css-Xuajs1"
style="display: flex; justify-content: flex-start; padding: 0px 6px 10px; position: relative; background-color: rgba(255, 255, 255, 0); flex: 1 0 0px;"><button class="needsclick go952291206 kl-private-reset-css-Xuajs1" type="button"
tabindex="0"
style="background: rgb(255, 255, 255); border-radius: 2px; border-style: none; border-color: rgb(0, 0, 0); border-width: 0px; color: rgb(51, 51, 51); font-family: Raleway, Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 16px; font-weight: 400; letter-spacing: 0px; line-height: 1; white-space: normal; padding-top: 11px; padding-bottom: 11px; text-align: center; word-break: break-word; align-self: flex-end; cursor: pointer; height: auto; width: 100%;">No,
thanks</button></div>
</div>
</div><input type="submit" tabindex="-1" value="Submit" style="display: none;">
</form>
Text Content
x -------------------------------------------------------------------------------- by Timesact Skip to content Hello from your friends at (formerly) PMK. We're now SPK! Click to learn more icon-X "Close" icon-X Close menu * Custom Keycap Sets * On Sale * Themed Keycap Sets * Shop by Size * 100% Keycaps * 80% (TKL) Keycaps * 60% Keycaps * Ergo Keycaps * Ortho Keycaps * See All * Shop by Profile * DCS * DSA * DSS * G20 * SA * SA-P * F10 * Shop by Aesthetic * Designer * Gaming * Kawaii * Pop Culture * PMK Originals * Retro * Science * See All * Shop by Material * PBT * ABS * Transparent * See All * Accessories & Gear * Custom Keyboards * Shop By Size * 100% Keyboards * 80% Keyboards * Learn * Mechanical Keyboards 101 * Product Guides * Templates * Community * News * Gallery * Designers and Fans * Submit Your Design * Fan Creations * Affiliate Program * About * Who We Are * Contact * Log in * * instagram Instagram * Facebook * YouTube * < * LinkedIn Cart icon-X Close cart Discounts Subtotal $0.00 Shipping, taxes, and discount codes calculated at checkout. Check out Your cart is currently empty. SPKEYBOARDS * Custom Keycap Sets * On Sale * Themed Keycap Sets * Shop by Size * 100% Keycaps * 80% (TKL) Keycaps * 60% Keycaps * Ergo Keycaps * Ortho Keycaps * See All * Shop by Profile * DCS * DSA * DSS * G20 * SA * SA-P * F10 * Shop by Aesthetic * Designer * Gaming * Kawaii * Pop Culture * PMK Originals * Retro * Science * See All * Shop by Material * PBT * ABS * Transparent * See All * Accessories & Gear * Custom Keyboards * Shop By Size * 100% Keyboards * 80% Keyboards * Learn * Mechanical Keyboards 101 * Product Guides * Templates * Community * News * Gallery * Designers and Fans * Submit Your Design * Fan Creations * Affiliate Program * About * Who We Are * Contact account Log in icon-search Search icon-hamburger Site navigation icon-bag-minimalCart Search Search Mechanical Keycaps and Keyboards WELCOME TO SIGNATURE PLASTICS KEYBOARDS We design and manufacture quality keycaps and ready-to-use mechanical keyboards. Most Popular NEW RELEASES RE-RELEASES Quick view Standard SA 80% TKL Black Keycap Set | Doubleshot $184.73 Save $67.92 Quick view DCS "Watermelon" 80% TKL Keycap Set | Vaporwave Pink and Green Color Regular price $169.79 Sale price $101.87 Save $71.99 Quick view DCS "Nova" Mix-and-Match 80% TKL Keycap Set Regular price $143.98 Sale price $71.99 Quick view DCS "Nova" Mix-and-Match 80% TKL Keyboard $241.78 Quick view DCS "Nova" Blue Alpha - Doubleshot Set $38.71 Quick view Standard SA 80% TKL White Keycap Set | Doubleshot $184.73 Quick view Standard SA 100% Full Black Keycap Set | Doubleshot $225.48 Quick view Standard SA 100% Full White Keycap Set | Doubleshot $225.48 Quick view DCS "Nova" Blue 60% Modifier - Doubleshot Set $12.90 View all Quick view SA "Retro" Alpha (51 keys) Keycap Set | C64 Inspired $126.32 Quick view SA "Nuclear Data" 100% Keycap Full Set | Double Shot $209.18 Quick view SA "1976" Alpha Keycap Set $120.89 Quick view SA "Nuclear Data" 100% Keyboard | Pre-Built and Ready-to-Use $380.32 Quick view SA "1976" Full Keyboard | Pre-Built and Ready-to-Use $429.22 Quick view "1976" Retro 80% Keycap Set $167.07 Quick view SA "1976" Ergo Keycap Set | Double Shot $137.19 Quick view SA "1976" Ortho Keycap Set | Double Shot $137.19 Quick view SA "1976" Colevrak Keycap Set (Double-Shot) $63.84 View all icon-X "Close (esc)" icon-X "Close (esc)" icon-X "Close (esc)" icon-X "Close (esc)" icon-X "Close (esc)" icon-X "Close (esc)" icon-X "Close (esc)" icon-X "Close (esc)" icon-X "Close (esc)" icon-X "Close (esc)" icon-X "Close (esc)" icon-X "Close (esc)" icon-X "Close (esc)" icon-X "Close (esc)" icon-X "Close (esc)" icon-X "Close (esc)" icon-X "Close (esc)" icon-X "Close (esc)" CUSTOM KEYCAPS Learn More Find Your Aesthetic NEWEST KEYCAPS Express your personality or highlight your gaming style by outfitting your mechanical keyboard with custom keycaps. Shop By Theme SHOP FEATURED CATEGORIES Gaming Keycaps 100% Mechanical Keyboards 80% Mechanical Keyboards Novelty Keycaps Single Keycaps DON'T TAKE OUR WORD FOR IT > ★★★★ > > This is hands down the best set of keycaps I've purchased after getting two > more spherical PBT keysets before it from sketchy sellers on Amazon and eBay. > The quality is excellent, there is no sign of wear on the engraving after > several weeks, etc. > > Avery Freeman > > Customer > ★★★★★ > > These caps are QUALITY and I love the sound and feel of the big, chunky, PBT > keycaps. > > Cody > > Customer > ★★★★★ > > This build gives you the blissful sensation of typing on cold butter, it's > creamy but firm, each press feeling like the caps sink in thick, dense cream > before closing the pressure with an audible thudding sound. I am in heaven and > I never want to type on anything else anymore, ever. > > So, thanks SPK for existing, and saving my sanity and little fingers with such > pretty and nice keycaps. > > Dasha > > Customer > ★★★★★ > > These are some of the nicest feeling keycaps I've ever used. I wasn't sure I > would get along with the taller profile, but I like sculpted profiles, and > these keycaps work very well for me. The fit and finish is one of the best, > and you can tell that these were made in molds designed for PBT. They have > some of the cleanest, straightest edges, and they look really nice on my > keyboards. Since I've gotten these and built up two keyboards and a macro pad > with them, I always look forward to typing on them. > > "D" > > Customer > ★★★★★ > > I bought part of my keycaps here as I needed keys of different size with > consistent color. The color naming system helped a lot with that, and I am > very happy with the result. All the keycaps are of excellent quality and the > colors are perfectly accurate. Would buy again if I need high quality > uniformly colored keycaps. > > Davide Donato > > Customer Keyboard Guides LEARN HOW TO REPLACE KEYCAPS ON A KEYBOARD Our guide will answer your questions about keycap removal and replacement. Learn More RECENT POSTS VIEW ALL Sep 14, 2023 How to Replace Keycaps on a Keyboard Aug 04, 2023 What are the different keyboard sizes? Oct 26, 2019 Keycap terms and what they mean Join our keycap club Subscribe to get special offers, free giveaways, and once-in-a-lifetime deals. Subscribe QUICK LINKS Quick Links * Shop * Search * Gallery * Contact * Product Guides SIGN UP AND SAVE Sign up and save Subscribe to get special offers, free giveaways, and once-in-a-lifetime deals. Enter your email Subscribe icon-email Subscribe POLICIES Policies * Shipping Policy * Refund Policy * Privacy Policy * Terms of Service * instagram Instagram * Facebook * YouTube * < * LinkedIn © 2023 SPKeyboards icon-X "Close (esc)" icon-chevron-left icon-X icon-chevron icon-X Custom Keycaps | Mechanical Keyboards | PBT Keycaps | SPKeyboards.com This website uses cookies to ensure you get the best experience on our website. Learn more Got it Close dialog 3 Unlock 10% off your first order Join our Keycap Club for special offers Unlock Offer By signing up, you agree to receive email marketing No, thanks