
﻿ Joel 1 1 The word of the LORD that came to Joel son of Pethuel . An Invasion of Locusts 2 Hear this , you elders ; listen , all who live in the land . Has anything like this ever happened in your days or in the days of your forefathers ? 3 Tell it to your children , and let your children tell it to their children , and their children to the next generation . 4 What the locust swarm has left the great locusts have eaten ; what the great locusts have left the young locusts have eaten ; what the young locusts have left other locusts[a ] have eaten . 5 Wake up , you drunkards , and weep ! Wail , all you drinkers of wine ; wail because of the new wine , for it has been snatched from your lips . 6 A nation has invaded my land , powerful and without number ; it has the teeth of a lion , the fangs of a lioness . 7 It has laid waste my vines and ruined my fig trees . It has stripped off their bark and thrown it away , leaving their branches white . 8 Mourn like a virgin[b ] in sackcloth grieving for the husband[c ] of her youth . 9 Grain offerings and drink offerings are cut off from the house of the LORD . The priests are in mourning , those who minister before the LORD . 10 The fields are ruined , the ground is dried up[d ] ; the grain is destroyed , the new wine is dried up , the oil fails . 11 Despair , you farmers , wail , you vine growers ; grieve for the wheat and the barley , because the harvest of the field is destroyed . 12 The vine is dried up and the fig tree is withered ; the pomegranate , the palm and the apple tree — all the trees of the field—are dried up . Surely the joy of mankind is withered away . A Call to Repentance 13 Put on sackcloth , O priests , and mourn ; wail , you who minister before the altar . Come , spend the night in sackcloth , you who minister before my God ; for the grain offerings and drink offerings are withheld from the house of your God . 14 Declare a holy fast ; call a sacred assembly . Summon the elders and all who live in the land to the house of the LORD your God , and cry out to the LORD . 15 Alas for that day ! For the day of the LORD is near ; it will come like destruction from the Almighty . [ e ] 16 Has not the food been cut off before our very eyes — joy and gladness from the house of our God ? 17 The seeds are shriveled beneath the clods . [ f ] The storehouses are in ruins , the granaries have been broken down , for the grain has dried up . 18 How the cattle moan ! The herds mill about because they have no pasture ; even the flocks of sheep are suffering . 19 To you , O LORD , I call , for fire has devoured the open pastures and flames have burned up all the trees of the field . 20 Even the wild animals pant for you ; the streams of water have dried up and fire has devoured the open pastures . Joel 2 An Army of Locusts 1 Blow the trumpet in Zion ; sound the alarm on my holy hill . Let all who live in the land tremble , for the day of the LORD is coming . It is close at hand — 2 a day of darkness and gloom , a day of clouds and blackness . Like dawn spreading across the mountains a large and mighty army comes , such as never was of old nor ever will be in ages to come . 3 Before them fire devours , behind them a flame blazes . Before them the land is like the garden of Eden , behind them , a desert waste — nothing escapes them . 4 They have the appearance of horses ; they gallop along like cavalry . 5 With a noise like that of chariots they leap over the mountaintops , like a crackling fire consuming stubble , like a mighty army drawn up for battle . 6 At the sight of them , nations are in anguish ; every face turns pale . 7 They charge like warriors ; they scale walls like soldiers . They all march in line , not swerving from their course . 8 They do not jostle each other ; each marches straight ahead . They plunge through defenses without breaking ranks . 9 They rush upon the city ; they run along the wall . They climb into the houses ; like thieves they enter through the windows . 10 Before them the earth shakes , the sky trembles , the sun and moon are darkened , and the stars no longer shine . 11 The LORD thunders at the head of his army ; his forces are beyond number , and mighty are those who obey his command . The day of the LORD is great ; it is dreadful . Who can endure it ? Rend Your Heart 12 “ Even now , ” declares the LORD , “ return to me with all your heart , with fasting and weeping and mourning . ” 13 Rend your heart and not your garments . Return to the LORD your God , for he is gracious and compassionate , slow to anger and abounding in love , and he relents from sending calamity . 14 Who knows ? He may turn and have pity and leave behind a blessing — grain offerings and drink offerings for the LORD your God . 15 Blow the trumpet in Zion , declare a holy fast , call a sacred assembly . 16 Gather the people , consecrate the assembly ; bring together the elders , gather the children , those nursing at the breast . Let the bridegroom leave his room and the bride her chamber . 17 Let the priests , who minister before the LORD , weep between the temple porch and the altar . Let them say , “ Spare your people , O LORD . Do not make your inheritance an object of scorn , a byword among the nations . Why should they say among the peoples , ‘ Where is their God ? ' ” The LORD 's Answer 18 Then the LORD will be jealous for his land and take pity on his people . 19 The LORD will reply[a ] to them : “ I am sending you grain , new wine and oil , enough to satisfy you fully ; never again will I make you an object of scorn to the nations . 20 “ I will drive the northern army far from you , pushing it into a parched and barren land , with its front columns going into the eastern sea[b ] and those in the rear into the western sea . [ c ] And its stench will go up ; its smell will rise . ” Surely he has done great things . [ d ] 21 Be not afraid , O land ; be glad and rejoice . Surely the LORD has done great things . 22 Be not afraid , O wild animals , for the open pastures are becoming green . The trees are bearing their fruit ; the fig tree and the vine yield their riches . 23 Be glad , O people of Zion , rejoice in the LORD your God , for he has given you the autumn rains in righteousness . [ e ] He sends you abundant showers , both autumn and spring rains , as before . 24 The threshing floors will be filled with grain ; the vats will overflow with new wine and oil . 25 “ I will repay you for the years the locusts have eaten — the great locust and the young locust , the other locusts and the locust swarm[f ] — my great army that I sent among you . 26 You will have plenty to eat , until you are full , and you will praise the name of the LORD your God , who has worked wonders for you ; never again will my people be shamed . 27 Then you will know that I am in Israel , that I am the LORD your God , and that there is no other ; never again will my people be shamed . The Day of the LORD 28 “ And afterward , I will pour out my Spirit on all people . Your sons and daughters will prophesy , your old men will dream dreams , your young men will see visions . 29 Even on my servants , both men and women , I will pour out my Spirit in those days. 30 I will show wonders in the heavens and on the earth , blood and fire and billows of smoke . 31 The sun will be turned to darkness and the moon to blood before the coming of the great and dreadful day of the LORD . 32 And everyone who calls on the name of the LORD will be saved ; for on Mount Zion and in Jerusalem there will be deliverance , as the LORD has said , among the survivors whom the LORD calls . 