Police say the attack happened Saturday night at the Red Ivy bar in the 3500-block of North Clark Street.
The suspect allegedly jumped out of a bathroom stall and cut another man in the neck, chin and hands with a broken beer bottle.
The victim was taken to the hospital and later released.
Gregg Greaves, 23, of the 4700-block of North Beacon Street, was charged with aggravated battery causing great bodily harm.