Here are steps for tying a square or reef knot using flat ribbon such as Grosgrain.
Many thanks to Jen for helping with the photos!!!
Single-sided ribbon is used to show how to turn the ribbon so that you finish with the patterned sides showing. Ribbon that is one inch wide is shown in these photos, but the same steps apply for any width of ribbon.
Take the left side, cross it over the right and bring it under and down.
Make sure the two ends have the wrong (non-patterned) side of the ribbon showing.
Pull both left and right ends to tighten.
Use your left thumb to hold the middle.
Take the end that is now on the upper-left and flip it over your left index finger so that it lays to the right of the bottom-right ribbon end.
Keep your left thumb and index finger in place.
Flip the bottom end up to cross over the top end.
Continue to keep your left thumb and index finger in place.
Tuck the end that you just flipped up, under and through toward your left hand.
Hold the middle of the knot now with your right middle finger so that it doesn't loosen while you tighten.
Gently pull both left and right ends to loosely tighten.
As you pull the left end, flip up the ribbon so the pattern side shows.
Continue to pull both left and right ends to tighten, pulling the right end slightly more than the left.
Play with it slightly to position where the ribbon puckers if that is important to you.
Here is the finished knot.
Trim ends as desired.