diff --git a/ascii.cabal b/ascii.cabal
--- a/ascii.cabal
+++ b/ascii.cabal
@@ -1,7 +1,7 @@
 cabal-version: 3.0
 
 name: ascii
-version: 1.2.2.0
+version: 1.2.3.0
 synopsis: The ASCII character set and encoding
 category: Data, Text
 
@@ -61,7 +61,7 @@
       , ASCII.Hexadecimal
       , ASCII.Word4
 
-    build-depends: ascii-predicates == 1.0.0.*
+    build-depends: ascii-predicates == 1.0.1.*
     reexported-modules:
         ASCII.Predicates
       , ASCII.Lists
diff --git a/library/ASCII.hs b/library/ASCII.hs
--- a/library/ASCII.hs
+++ b/library/ASCII.hs
@@ -24,7 +24,7 @@
     {- ** Decimal digits -} {- $digit -} isDigit, Digit,
     {- ** Hexadecimal digits -} {- $hexchar -} isHexDigit, HexChar,
     {- ** Octal digits -} isOctDigit,
-    {- ** Spaces and symbols   -} isSpace, isPunctuation, isSymbol,
+    {- ** Spaces and symbols   -} isSpace, isPunctuation, isSymbol, isVisible,
 
     {- * Monomorphic character conversions -} {- $monomorphicConversions -}
     {- ** @ASCII.Char@ ↔ @Int@ -} {- $intConversions -}
@@ -629,6 +629,15 @@
 
 isSymbol :: CharSuperset char => char -> Bool
 isSymbol x = any ASCII.Predicates.isSymbol (convertCharMaybe x)
+
+{- | Returns True for visible characters.
+
+This includes all print characters except 'ASCII.Char.Space'.
+
+-}
+
+isVisible :: CharSuperset char => char -> Bool
+isVisible x = any ASCII.Predicates.isVisible (convertCharMaybe x)
 
 {- $numbers
 
