diff --git a/docs/api_reference/io.rst b/docs/api_reference/io.rst
index e8f1748fd..cd6057a31 100644
--- a/docs/api_reference/io.rst
+++ b/docs/api_reference/io.rst
@@ -69,4 +69,4 @@ format of the ``graphblas`` object (this attributed is used by the
Visualization
~~~~~~~~~~~~~
-.. autofunction:: graphblas.io.draw
+.. autofunction:: graphblas.viz.draw
diff --git a/graphblas/io/__init__.py b/graphblas/io/__init__.py
index 0eafd45c8..b21b20963 100644
--- a/graphblas/io/__init__.py
+++ b/graphblas/io/__init__.py
@@ -4,4 +4,3 @@
from ._numpy import from_numpy, to_numpy # deprecated
from ._scipy import from_scipy_sparse, to_scipy_sparse
from ._sparse import from_pydata_sparse, to_pydata_sparse
-from ._viz import draw # deprecated
diff --git a/graphblas/io/_viz.py b/graphblas/io/_viz.py
deleted file mode 100644
index 19211573f..000000000
--- a/graphblas/io/_viz.py
+++ /dev/null
@@ -1,21 +0,0 @@
-from warnings import warn
-
-
-def draw(m): # pragma: no cover (deprecated)
- """Draw a square adjacency Matrix as a graph.
-
- Requires `networkx `_ and
- `matplotlib `_ to be installed.
-
- Example output:
-
- .. image:: /_static/img/draw-example.png
- """
- from .. import viz
-
- warn(
- "`graphblas.io.draw` is deprecated; it has been moved to `graphblas.viz.draw`",
- DeprecationWarning,
- stacklevel=2,
- )
- viz.draw(m)