I'm making a manual where I need to show which buttons to press on a phone in order to make something happen. I'm trying to figure out what's the best way to accomplish a style as in the picture below:

enter image description here

I tried making a character style with an underline using a heavy weight and some offset, however I'm unable to get the horizontal padding with that method, and no rounded borders either (though that could be skipped, not that important).

Does anyone know of a method to get this kind of style on a character in InDesign?

  • 4
    Why not use a typeface that looks like this? Create a manual and then GREP/script every number with style that will swap fonts. Apr 4, 2018 at 9:24

5 Answers 5


http://www.fontspace.com/casady-and-greene/keycapsflf for example is a "keyboard font", I am sure there are others. The key term here apparently is "keyboard font"

enter image description here

  • +1 a keyboard font is really the way to go. I searched MyFonts.com and found some good ones. Apr 4, 2018 at 15:00

I would do this using a combination of character and object styles. You would set up a character style to format the numbering (the white numbers inside buttons), then anchor that (paste it) as a separate text box inside the main body text. Then apply an object style for the actual button to fill the anchored frame with color, give it round corners and shift it up or down (Y offset). Then every time you need to re-use this just copy paste the same object and edit the number inside.

enter image description here


As @mayersdesign suggests, a keyboard font is the appropriate approach. I searched MyFonts.com for "keyboard" and found a few good options.

Knappolog looks a lot like your example.

Screenshot of Knappolog on MyFonts


A valid option would be to use IndyFont from Indiscripts.com This script will let you generate your own otf font. Once that made, it's easy to apply that font to the numbers even with a grep style : http://www.indiscripts.com/post/2012/06/indyfont-build-opentype-fonts-from-within-indesign


A mix between Character Style, Paragraph style with GREPS, and typing.


Character Style

As written in the question, just the underline and text styles and color

Paragraph Style GREP

This character style must be applied to every single number or more between spaces inside this text.

The Grep is \s\d+\s and means space\number/s\space where the character + allows to have codes of 1, 2, 3 or several numbers, difficult situation to find in a font.

With this GREP we get this:


We must add another GREP to solve the space between the last character and the space followed by a number:

  • To any character . followed by a space\number/s\space apply a new character style with a wide positive tracking .(?=\s\d+\s)

GREP Styles


This GREP will apply to any number/s, but there will be no space between the second space and the next character. Here comes the typing, after the number type two spaces.

two spaces

The same with several separated numbers:

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.