According to an aspect of the present disclosure, an image reading apparatus, having a conveyer, a sheet tray, an obtaining device, a memory, a determining device, and a controller, is provided. The conveyer is configured to convey a sheet to be read downstream along a sub-scanning direction. The sheet tray is configured to support the sheet at a position on a supporting surface with reference to a central position located at a center of the supporting surface in a main-scanning direction, which intersects orthogonally with the sub-scanning direction. The obtaining device includes a line sensor, having a plurality of sensor components aligning in line along the main-scanning direction. The plurality of sensor components include a foremost sensor component located at a most upstream position in the line along the main-scanning direction and a rearmost sensor component located at a most downstream position in the line along the main-scanning direction. Each sensor component is configured to read an image element corresponding to a pixel on the sheet. The line sensor is configured to read a plurality of lines of images extending along the main-scanning direction on the sheet being conveyed from the sheet tray downstream in the sub-scanning direction. The obtaining device is configured to obtain read-image data including image data of the plurality of lines of images read by the line sensor. The determining device is configured to determine edge positions contained in a predetermined area defined by a main-scanning range and a sub-scanning range in the read-image data and store information concerning pixels in the predetermined area indicating the edge positions in a storage area in the memory. The main-scanning range is a range of pixels in the read-image data aligning along the main-scanning direction between a foremost pixel position, which is a position of pixels read by the foremost sensor component, and a rearmost pixel position, which is a position of pixels read by the rearmost sensor component. The sub-scanning range is a range of pixels in the read-image data aligning along the sub-scanning direction between an upstream pixel position, which is a position of pixels in a most upstream line among the plurality of lines of images, and a pixel position of another line of pixels, which are apart downstream in the sub-scanning direction from the upstream pixel position for a first predetermined distance. The determining device is configured to search for edges of the sheet through the pixels in the predetermined area in the read-image data from the upstream pixel position downstream along the sub-scanning direction at each pixel position in the main-scanning direction. The determining device is configured to save the pixel position in the main-scanning direction in the storage area in the memory as the information indicating the edge position if colors in the pixels within the sub-scanning range in the read-image data shifted from white to black along the sub-scanning direction for a first time at the pixel position in the main-scanning direction. The determining device is configured to save information indicating edge absence in the storage area in the memory if the colors in the pixels within the sub-scanning range in the read-image data do not shift from white to black at the pixel position in the main-scanning direction. The controller is configured to examine the information concerning the pixels stored in the storage area in the memory along the main-scanning direction consecutively upstream from a central pixel position, which is a position of pixels read by a central sensor component among the plurality of sensor components located at the central position, to the foremost pixel position and determine whether the information concerning each of the examined pixels indicates the edge position or edge absence; detect a pixel position, which is farthest upstream from the central pixel position along the main-scanning direction and of which information concerning the pixel in the storage area in the memory is determined to indicate the edge position, as an upstream leading-end position, among the pixel positions within a range along the main-scanning direction between the central pixel position and an upstream no-edge pixel position, which is upstream from the central pixel position in the main-scanning direction and of which information concerning the pixel in the storage area in the memory is determined to indicate edge absence; examine the information concerning the pixels stored in the storage area in the memory along the main-scanning direction consecutively downstream from the central pixel position to the rearmost pixel position and determine whether the information concerning each of the examined pixels indicates the edge position or edge absence; detect a pixel position, which is farthest downstream from the central pixel position along the main-scanning direction and of which information concerning the pixel in the storage area in the memory is determined to indicate the edge position, as a downstream leading-end position, among the pixel positions within a range along the main-scanning direction between the central pixel position and a downstream no-edge pixel position, which is downstream from the central pixel position in the main-scanning direction and of which information concerning the pixel in the storage area in the memory is determined to indicate edge absence; detect pixel positions, of which information concerning the pixels in the storage area in the memory is determined to indicate the edge positions sequentially, as upstream continuing pixel positions, among the pixel positions within a range along the main-scanning direction between the upstream no-edge pixel position and the foremost pixel position; detect a pixel position, which is farthest from the central pixel position along the main-scanning direction, among the upstream continuing pixel positions as an upstream lateral-end position; detect pixel positions, of which information concerning the pixels in the storage area in the memory is determined to indicate the edge positions sequentially, as downstream continuing pixel positions, among the pixel positions within a range along the main-scanning direction between the downstream no-edge pixel position and the rearmost pixel position; detect a pixel position, which is farthest from the central pixel position along the main-scanning direction, among the downstream continuing pixel positions as a downstream lateral-end position; calculate a line representing an upper end of the sheet based on the upstream leading-end position and the downstream leading-end position; calculate an upstream corner position based on the upstream lateral-end position and the line representing the upper end of the sheet; calculate a downstream corner position based on the downstream lateral-end position and the line representing the upper end of the sheet; and calculate a width of the sheet in the main-scanning direction based on the upstream corner position and the downstream corner position.