✦ Handcrafted Custom Neon Signs
Bespoke neon signs for businesses, events, and homes. Designed to glow, built to last, impossible to ignore.
What We Offer
Make your storefront unforgettable. Logo signs, open signs, window displays — crafted to match your brand perfectly.
The perfect backdrop for any celebration. Custom quotes, names, and designs that photograph beautifully and create lasting memories.
Turn any room into a statement. Gaming dens, living rooms, bars — your words and designs, glowing on your wall.
Got a wild idea? We love those. Share your vision and our designers will make it glow — any shape, any color, any size.
Happy Customers
"Ordered a custom sign for our bar opening and it was the most photographed thing all night. The quality is incredible — glows so beautifully even in daylight."
"Got our wedding names in neon — every single guest stopped to take a photo with it. Now it hangs in our living room and we love it every day."
"Crazy fast turnaround — design proof in 24 hours and sign delivered within a week. It transformed our studio. Clients always comment on it."
"Second order with GP Light Sign. The team went above and beyond to match our exact brand colors. Looks absolutely stunning in the shop window."
"Bought a 'Game Over' sign for my gaming room. The glow is insane and it's been running non-stop for a year with zero issues. Worth every penny."
"The online design tool made it so easy to visualise exactly what I wanted. What arrived was even better than the mockup. Absolutely flawless."
Inspiration Gallery
Design Studio
How It Works
Share your idea — a quote, logo, shape, or rough sketch. The weirder the better.
We send a digital mockup within 48 hours. Tweak it until it's exactly right.
Your sign is built by skilled artisans using premium LED neon flex — vibrant, energy-efficient, and long-lasting.
Packaged safely and shipped to your door. Plug in and light up your space.
Pricing
FAQ
Get in Touch
Pay Your Deposit
Once we've agreed your quote, pay a 50% deposit to lock in your order and get into our production queue. We'll send your design proof within 48 hours of receiving payment.
The remaining 50% balance is due once you've approved your proof and before we dispatch your sign.
Thank you — your deposit has been processed. We'll send your design proof to your email within 48 hours. Check your inbox for a payment confirmation.
From the Blog
We break down the real differences between classic glass neon tubes and modern LED neon flex — cost, safety, brightness, and lifespan.
From classic cocktail quotes to sports team logos — our favourite ideas for lighting up your home bar and making it the envy of the street.
Neon signs are one of the most-photographed wedding elements of the decade. Here's how to choose the perfect sign for your big day.
Stay in the Loop
Join 2,000+ neon lovers. Get early access to new designs, seasonal offers, and sign inspiration delivered straight to your inbox. No spam — ever.
By subscribing you agree to our Privacy Policy. Unsubscribe anytime.
For most customers — businesses, homes, and events — LED neon flex is the better choice. It's safer, cheaper to run, more durable, and easier to ship. Traditional glass neon has a unique aesthetic warmth, but comes with trade-offs that rarely make sense outside specialist applications.
Classic neon signs use glass tubes filled with noble gases (neon, argon, krypton) that glow when electrified at high voltage. They've been around since the 1910s and have an unmistakable warm, slightly buzzing glow that many people love.
LED neon flex is a flexible silicone tube containing LED strips. It mimics the look of glass neon very closely, but runs at low voltage, produces almost no heat, and is virtually unbreakable.
All GP Light Sign signs are made with premium LED neon flex. We believe it offers the best combination of quality, safety, and value — and our customers agree. If you specifically want the vintage glass neon aesthetic, get in touch and we can discuss options.
` }, { title: "10 Neon Sign Ideas That Will Transform Your Home Bar", tag: "Inspiration · 5 min read · Apr 2026", content: `Neon signs are the fastest way to turn a spare room or corner into a proper bar experience. The glow creates instant atmosphere, they look incredible in photos, and they're a talking point every time guests visit.
Warm colours (amber, orange, red) create a pub-like cosiness. Cool blues and whites feel more modern and cocktail-bar-ish. Green is great for a sports bar vibe. When in doubt, pink is universally loved.
Ready to design yours? Use our Design Studio above to see exactly how it'll look before you order.
` }, { title: "Why Every Wedding Needs a Neon Sign (And How to Pick Yours)", tag: "Events · 6 min read · Mar 2026", content: `Walk through any wedding Instagram feed and you'll spot neon. They create a natural photo backdrop, add a warm glow to evening receptions, and give guests something to interact with. They're also a keepsake you can hang at home afterwards.
We recommend ordering at least 4–6 weeks before your wedding date. This gives time for design approval, production, and a buffer for delivery. During peak wedding season (May–September) we get busy — the earlier the better.
Buying your own sign is often better value than hiring for one day, especially since you get to keep it as a memento. Many couples hang their sign in their home after the wedding. Get in touch and we'll find the right option for your budget.
` } ]; function openBlogPost(index) { const post = blogPosts[index]; document.getElementById('blogModalTitle').textContent = post.title; document.getElementById('blogModalBody').innerHTML = ` ${post.content} `; openModal('blog'); } // Email signup function handleEmailSignup() { const email = document.getElementById('signupEmail').value.trim(); if (!email || !email.includes('@')) { alert('Please enter a valid email address.'); return; } document.getElementById('signupEmail').disabled = true; document.querySelector('.email-signup-btn').disabled = true; document.getElementById('emailSuccessMsg').style.display = 'block'; } // Cookie banner function acceptCookies() { localStorage.setItem('cookieConsent', 'accepted'); document.getElementById('cookieBanner').classList.remove('visible'); } function declineCookies() { localStorage.setItem('cookieConsent', 'declined'); document.getElementById('cookieBanner').classList.remove('visible'); } window.addEventListener('load', () => { if (!localStorage.getItem('cookieConsent')) { setTimeout(() => document.getElementById('cookieBanner').classList.add('visible'), 1200); } }); // Modals function openModal(type) { document.getElementById(type + 'Modal').classList.add('open'); document.body.style.overflow = 'hidden'; } function closeModal(type) { document.getElementById(type + 'Modal').classList.remove('open'); document.body.style.overflow = ''; } // Close modal on overlay click document.querySelectorAll('.modal-overlay').forEach(overlay => { overlay.addEventListener('click', e => { if (e.target === overlay) { overlay.classList.remove('open'); document.body.style.overflow = ''; } }); }); // Close on Escape key document.addEventListener('keydown', e => { if (e.key === 'Escape') { document.querySelectorAll('.modal-overlay.open').forEach(m => m.classList.remove('open')); document.body.style.overflow = ''; } }); // Init applyGlow(); updateSize(2); // Stripe Integration const BACKEND_URL = 'https://gp-light-sign-backend.up.railway.app'; // update after Railway deploy const stripe = Stripe('pk_test_51TVg3TAmjYqxiWTAYuqsEJ01gKhL9ofHEQ828eqlruvaQXImz7C9T7eqr3vGn8lzfNQczEOhSRrVpf2T5NArnDQo00zCsS95r3'); let stripeElements = null; let cardElement = null; async function initStripe() { stripeElements = stripe.elements(); cardElement = stripeElements.create('card', { style: { base: { color: '#f0eaf8', fontFamily: 'DM Sans, sans-serif', fontSize: '15px', '::placeholder': { color: '#7a6e8e' }, backgroundColor: 'transparent', }, invalid: { color: '#ff2d78' } } }); const cardBox = document.querySelector('#method-card .stripe-card-box'); if (cardBox) { cardBox.innerHTML = ''; cardBox.style.padding = '0.75rem 1rem'; cardElement.mount(cardBox); } } async function handleStripePay() { const name = document.getElementById('payerName').value.trim(); const email = document.getElementById('payerEmail').value.trim(); const amount = parseFloat(document.getElementById('depositInput').value); const orderRef = document.getElementById('orderRef').value.trim(); if (!name || !email) { alert('Please enter your name and email address.'); return; } if (!amount || amount < 1) { alert('Please enter a valid deposit amount.'); return; } const btn = document.getElementById('stripePayBtn'); btn.disabled = true; btn.innerHTML = '⏳ Processing...'; try { if (currentPayMethod === 'card' && cardElement) { // 1. Ask backend to create a PaymentIntent const res = await fetch(`${BACKEND_URL}/create-payment-intent`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ amount, name, email, orderRef }) }); const { clientSecret, error: backendError } = await res.json(); if (backendError) throw new Error(backendError); // 2. Confirm the card payment with Stripe const { error, paymentIntent } = await stripe.confirmCardPayment(clientSecret, { payment_method: { card: cardElement, billing_details: { name, email } } }); if (error) { alert(error.message); btn.disabled = false; btn.innerHTML = `🔒 Pay $${amount} Deposit`; return; } if (paymentIntent.status === 'succeeded') { document.getElementById('stripeFormWrap').style.display = 'none'; document.getElementById('stripeSuccess').style.display = 'block'; } } else if (currentPayMethod === 'paypal') { // PayPal redirect const res = await fetch(`${BACKEND_URL}/create-paypal-order`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ amount, name, email, orderRef }) }); const { id, error: ppError } = await res.json(); if (ppError) throw new Error(ppError); // Redirect to PayPal checkout window.location.href = `https://www.sandbox.paypal.com/checkoutnow?token=${id}`; } else { // Apple Pay / Google Pay — coming via Stripe Payment Request Button alert('Apple Pay and Google Pay will be available once the backend is deployed. Use card payment for now.'); btn.disabled = false; btn.innerHTML = `🔒 Pay $${amount} Deposit`; } } catch (err) { alert('Payment error: ' + err.message); btn.disabled = false; btn.innerHTML = `🔒 Pay $${amount} Deposit`; } } // Init Stripe on page load window.addEventListener('load', initStripe);