---
name: "ctype"
section: "3"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["freebsd", "macos"]
url: "https://new.carta.tech/ctype"
---

# ctype(3)

character classification functions

## NAME

**digittoint**, **isalnum**, **isalpha**, **isascii**, **isblank**, **iscntrl**, **isdigit**, **isgraph**, **ishexnumber**, **isideogram**, **islower**, **isnumber**, **isphonogram**, **isprint**, **ispunct**, **isrune**, **isspace**, **isspecial**, **isupper**, **isxdigit**, **toascii**, **tolower**, **toupper** – character classification functions

## LIBRARY

Standard C Library (libc, -lc)

## SYNOPSIS

**#include \<ctype.h\>**

*int*\

**digittoint**(*int c*);

*int*\

**isalnum**(*int c*);

*int*\

**isalpha**(*int c*);

*int*\

**isascii**(*int c*);

*int*\

**iscntrl**(*int c*);

*int*\

**isdigit**(*int c*);

*int*\

**isgraph**(*int c*);

*int*\

**ishexnumber**(*int c*);

*int*\

**isideogram**(*int c*);

*int*\

**islower**(*int c*);

*int*\

**isnumber**(*int c*);

*int*\

**isphonogram**(*int c*);

*int*\

**isspecial**(*int c*);

*int*\

**isprint**(*int c*);

*int*\

**ispunct**(*int c*);

*int*\

**isrune**(*int c*);

*int*\

**isspace**(*int c*);

*int*\

**isupper**(*int c*);

*int*\

**isxdigit**(*int c*);

*int*\

**toascii**(*int c*);

*int*\

**tolower**(*int c*);

*int*\

**toupper**(*int c*);

## DESCRIPTION

The above functions perform character tests and conversions on the integer *c*. They are available as macros, defined in the include file ⟨ctype.h⟩, or as true functions in the C library. See the specific manual pages for more information.

## SEE ALSO

[digittoint(3)](/digittoint/3.md), [isalnum(3)](/isalnum/3.md), [isalpha(3)](/isalpha/3.md), [isascii(3)](/isascii/3.md), [isblank(3)](/isblank/3.md), [iscntrl(3)](/iscntrl/3.md), [isdigit(3)](/isdigit/3.md), [isgraph(3)](/isgraph/3.md), [isideogram(3)](/isideogram/3.md), [islower(3)](/islower/3.md), [isphonogram(3)](/isphonogram/3.md), [isprint(3)](/isprint/3.md), [ispunct(3)](/ispunct/3.md), [isrune(3)](/isrune/3.md), [isspace(3)](/isspace/3.md), [isspecial(3)](/isspecial/3.md), [isupper(3)](/isupper/3.md), [isxdigit(3)](/isxdigit/3.md), [toascii(3)](/toascii/3.md), [tolower(3)](/tolower/3.md), [toupper(3)](/toupper/3.md), [wctype(3)](/wctype/3.md), [ascii(7)](/ascii/7.md)

## STANDARDS

These functions, except for **digittoint**(), **isascii**(), **ishexnumber**(), **isideogram**(), **isnumber**(), **isphonogram**(), **isrune**(), **isspecial**() and **toascii**(), conform to ISO/IEC 9899:1990 (“ISO C90”).

## HISTORY

The functions **isalpha**(), **isupper**(), **islower**(), **isdigit**(), **isalnum**(), **isspace**(), **ispunct**(), **isprint**(), **iscntrl**(), and **isascii**() first appeared in Version 7 AT&T UNIX.
