Skip to main content



Lockups are a promotional component that signpost to a product or service, highlighting key messages.

We use lockups to engage customers, in particular to promote a key product or service. The more relevant and contextual the content is for intended customers, the better.

Content guidance#

Lockup - Lockjaw

KeyField typeGuidelines
ASub-headingSub-headings are used to indicate the primary section or to reinforce a brand message. Short and simple words tend to work better and it is recommended to keep the length between 1 and 5 words. Include a full stop at the end of the sub-heading.
BHeadingThe recommended length is between 4 and 12 words, not exceeding 50 characters in total. Headings contain light and bold font weight to highlight key messaging.
CContentns-lockup can accommodate multiple paragraph slots. However, be mindful of keeping it concise. Our guidance is a maximum of 2 short paragraphs, each with no more than 3 lines each. Can contain bold copy <b>, inline links <a>, lists <ul> <ol>, and a caveat at the end of the relevant paragraph if required <a href="#caveat">1</a>.
DCTAKeep the text ‘short, relevant, and actionable’. It should not exceed more than 24 characters.
EImageThere is a choice of two image sizes depending on your choice of Lockup - the first has an aspect ratio of 4:3, the dimensions should be 720x540px, the second has an aspect ratio of 1:1, the dimensions should be 720x720px. Both versions should be jpg file types, and the file size should be no more than 100kb. To see which image you can use - please see the Image Guidence section below. Don't use imagery with white backgrounds. Please make sure you work with a designer when selecting any imagery for the ns-lockup.
FDecorationUse this optional illustration to support and highlight the content. The illustration should relate to the product or service you are talking about. Only available on the Lockjaw and Locknut variants. The specification table has a list of options.

Image guidance#

ns-lockuplockbox4:3720x540px< 100kbjpegns-lockup-lockbox-720x540px
ns-lockuplockbox1:1720x720px< 100kbjpegns-lockup-lockbox-720x720px
ns-lockuplockjaw4:3720x540px< 100kbjpegns-lockup-lockjaw-720x540px
ns-lockuplocknut1:1720x720px< 100kbjpegns-lockup-locknut-720x720px

Best practice#

💚 Do's💔 Don'ts
Embolden the key message in the headingInclude more than one CTA
Keep the heading length to 4-12 wordsExceed more than two paragraphs of 3 lines each
Keep subheading length between 1-5 wordsUse images with a white background
Optimise the lockup image (see image optimise LINK)

Considerations of best practices#

  • Alternate the position of image/video when using more than one lockup.
  • Paragraph works best as a single, short paragraph.
  • Use real-life photographs.


View example on Storybook

Component placement#

The ns-lockup component can only be used in the ns-panel component.


typestringlockboxlockjaw, lockbox, locknutDifferent style variants.
reversedbooleanfalsetrue, falseSwitches the order of the text and image. Default is text to the left.
ratiostring4x34:3, 16:9, 1:1Ratio for the image.
decorationstringSee Illustration component in StorybookAdds illustration between the text and image.
headingh2 tag
paragraph<p>, <a>, <ul>, <ol>, <li>
imagens-image ns-video

Specification notes#


  • Should be a h2 tag.

  • The sub-heading is part of the heading to allow screen readers to read the heading properly.

  • Sub heading is a <span> tag with a h5 class.

  • Main heading is a <span> tag with a h1 class.

  • enlighten class in the main heading <span> to make the heading light.

    • Use <b> tag to embolden specific text.

Design Tokens

You can change the branded look and feel of the ns-lockup by modifying these options in the design tokens.

Read more about design tokens in our getting started guide.

  "card": {
    "paragraph": {
      "typography": "p-feature"
  "lockbox": {
    "drop-shadow": [
      "rgba(170, 170, 170, 0.40) -3px 3px 10px",
      "rgba(51, 51, 51, 0.05) -20px 20px 20px"
    "card": {
      "box-shadow": [
        "rgba(170, 170, 170, 0.05) 0px 0px 0px 1px"


  • Do you have insights or concerns to share? You can raise an issue via Github bugs.
  • See all the issues already raised via Github issues.

💩 🎉 🦄 You can also contact the team on Slack on the #product-nucleus channel!