Enables network connection (local and Internet) using the Arduino Ethernet Board or Shield.
With this library you can use the Arduino Ethernet (shield or board) to connect to Internet. The library provides both client and server functionalities. The library permits you to connect to a local network also with DHCP and to resolve DNS.

Go to repository


This library is compatible with all architectures so you should be able to use it on all the Arduino boards.


To use this library, open the Library Manager in the Arduino IDE and install it from there.


This library is designed to work with the Arduino Ethernet Shield, Arduino Ethernet Shield 2, Leonardo Ethernet, and any other W5100/W5200/W5500-based devices. The library allows an Arduino board to connect to the Internet. The board can serve as either a server accepting incoming connections or a client making outgoing ones. The library supports up to eight (W5100 and boards with <= 2 kB SRAM are limited to four) concurrent connections (incoming, outgoing, or a combination).

The Arduino board communicates with the shield using the SPI bus. This is on digital pins 11, 12, and 13 on the Uno and pins 50, 51, and 52 on the Mega. On both boards, pin 10 is used as SS. On the Mega, the hardware SS pin, 53, is not used to select the Ethernet controller chip, but it must be kept as an output or the SPI interface won’t work.

Arduino UNO Pin map.

Arduino MEGA Pin map.

To use this library

#include <SPI.h>
#include <Ethernet.h>

Ethernet Class

IPAddress Class

Server Class

Client Class

EthernetUDP Class

UDP class