BLACK FRIDAY
Save 59% on PageForge Annual $191/year $485/year
Claim 59% Off →
Pretty Google Calendar icon
Maintained Tested up to 6.9.9 #18 in calendar

Pretty Google Calendar

Embedded Google Calendars that don't suck.

Active installs4K+1K+ tier
Downloads · 30d767▼ -3% vs prev. 30d
Rating4.6/520 reviews
Health score59/100Fair
All-time downloads70.6KSince Oct 2021
Support resolved—No recent threads
RequiresWP 3.0PHP any
Downloads · 7d180▼ -2.2% week over week
Our verdict

Use with caution

Pretty Google Calendar works, but test it on a staging site before relying on it in 2026. It runs on 4K+ sites, is rated 4.6/5 and was last updated 9 months ago, and scores 59/100 on our health check.

  • Loved by users — 4.6/5 from 20 reviews
  • Only tested up to WordPress 6.9 (latest is 7.1)

How does it stack up?

Side-by-side on installs, updates, ratings & support

Daily downloads

102132Jun 28Aug 11Sep 25
Yesterday34
Daily average (1y)53
Peak day2,409Dec 20, 2025
Last 12 months19.4K

Download spikes usually follow a new release — each site that auto-updates counts as a download.

Rankings

Where Pretty Google Calendar stands today

WordPress.org search rankings

Live position in the plugin search, top 100
KeywordPositionCompeting pluginsCategory
calendar #40 2,426 Best calendar plugins →
fullcalendar #6 73 Best fullcalendar plugins →
gcal #1 16 Best gcal plugins →
google calendar #8 955 Best google calendar plugins →
pretty calendar #3 86 Best pretty calendar plugins →

Version adoption

Share of active sites per release.

  • 2.273.8%
  • 2.019.0%
  • Other7.2%

Rating breakdown

★★★★★★★★★★ 4.6 from 20 reviews

  • 5★90.0%
  • 4★0.00%
  • 3★0.00%
  • 2★0.00%
  • 1★10.0%

About Pretty Google Calendar

From the official readme · v2.2.1

Description

Plugin Migration Notice

Pretty Google Calendar is transitioning to Hydrogen Calendar Embeds. Please install that plugin for future updates and improvements.

Why Switch to Hydrogen Calendar Embeds?

  • No more fussing with the Google API — just use simple .ics calendar feeds
  • Display any calendar that provides a public .ics feed (e.g. Google Calendar, Apple Calendar, Outlook, etc.)
  • Works with blocks and shortcodes
  • More features, fewer bugs, and still lightweight
  • 100% FREE
  • Active development and ongoing support

Legacy Pretty Google Calendar Features

You: I just want to embed a Google Calendar in my WordPress site.
Google: Here’s a special kind of ugly!
Pretty Google Calendar: I got this.

This is a light and simple to use plugin that embeds Google Calendars in your website with style, beauty and grace.

Highlights:

  • Out of the box support for calendar grid and agenda list view (and most other FullCalendar views)
  • Responsive design switches to list view on smaller screens
  • List view customizable to day, week, month, year or custom number of days

How it works:

  1. Continue to manage events using Google Calendar as you’ve always done.
  2. Add a shortcode to your page.
  3. Sigh with relief.
  4. That’s it.

Installation

  1. Upload the pretty-google-calendar folder to the /wp-content/plugins/ directory.
  2. Activate Pretty Google Calendar through the ‘Plugins’ menu in WordPress dashboard.
  3. Obtain your Google Calendar API key (see below)
  4. Add the API key to Settings -> Pretty Google Calendar Settings
  5. Use the shortcode [pretty_google_calendar gcal="calendarID@group.calendar.google.com"] directly in your page or post content.

Shortcode Options

gcal="CalendarID,CalendarID"

Calendar ID of the desired google calendar (note: must be set to ‘Make available to public’. To display multiple calendars, separate ID’s by a comma. (Note: calendars must fall under same API access.))

cal_ids="identifier,identifier" \

Optional custom CSS identifiers for each calendar (must match the number of calendars in gcal). Allows using meaningful names instead of numeric indexes for styling. Example: cal_ids="soccer,baseball" generates classes like .pgcal-calendar-soccer and .pgcal-calendar-baseball. Identifiers should be lowercase alphanumeric with hyphens.
Defaults to numeric indexes (0, 1, 2, etc.)

locale="en"

Sets the locale for calendar. Defaults to “en”.

list_type="listCustom"

Sets the list type. Options: listDay, listWeek, listMonth, listYear, and listCustom. (Also accepts day, week, month, year, and custom).
Defaults to listCustom for backward compatibility.

Note: listCustom allows you to set the number of days you want to display from the current date. Whereas listMonth shows
all the events from this month (including past events), list_type="custom" custom_days="28" will show the next 28 days
across months.

custom_days="28"

Sets the number of days to show in the list tab. Defaults to 28. Only used with listCustom.

custom_list_button="list"

Sets the label for the listCustom button. Defaults to “list”.

views="dayGridMonth, listCustom"

Sets the view types available. If only one view is provided, no view switch buttons will be shown. Defaults to “dayGridMonth, listCustom”.

initial_view="dayGridMonth"

Sets the default view to be displayed when opening the page. Defaults to “dayGridMonth”. Note: If only one view is specified in “views”, “initial_view” will automatically be set to that view and does not need to be specified.

enforce_listview_on_mobile="true"

Sets the change to the list view behavior on small screens. Options: “true” and “false”. Defaults to “true”. This option has no effect if there is no list view declared in the “views” option.

show_today_button="true"

Sets the visibility of the “Today” button. Options: “true” and “false”. Defaults to “true”.

show_title="true"

Sets the visibility of the calendar title. Options: “true” and “false”. Defaults to “true”.

hide_past="false"

Hides past events from the calendar completely. Options: true and false. Defaults to false. When set to true, events before today will not be displayed in any view.

id_hash=random

Sets the ID hash for a calendar. If you have multiple calendars on a page and need to style them, you can set this to a permanent code. Otherwise, it’ll randomly generate each load. (Note: as of v2.0.0 this can only be alphanumeric.)

use_tooltip="true"

Migrating from global setting for individual calendar styling. Whether the floating tooltip for event pops up on click.

no_link="true"

Migrating from global setting for individual calendar styling. Whether to disable link to calendar.google.com on click.

fc_args = JSON string ((EXPERIMENTAL))

Allows you to override or impliment just about any FullCalendar argument (with some exception). For example: fc_args='{"weekNumbers":"true", "eventTextColor":"red"}'

Note: any argument that contains [] will fail due to WordPress’ parsing of shortcodes. No workaround currently.
Note: this is experimental – things may break.

Styling Multiple Calendars

As of v1.7.0, each calendar gets it’s own CSS selector: pgcal-event-# where the # is the order of the listed calendar (starting with 0). So if you have two calendars in one, you can use pgcal-event-0 to style the first, and pgcal-event-1 to style the second calendar.

The following improvements were made in v2.2.0 for easier styling of multiple calendars:
– Custome calendar identifiers via cal_ids shortcode argument (see above) (defaults to numeric indexes if not provided).
– Events get new class name: pgcal-calendar-0-event for consistent naming convention (old class pgcal-event-0 is still supported for backward compatibility).
– Event pop-up tooltips now get a calendar-specific class: pgcal-calendar-0-event-popup for easier styling of event pop-ups per calendar.

Obtaining Google Calendar API Key

  1. Go to the Google Cloud Console and sign in.
  2. Click the project selector (top bar) → New project.
  3. Give the project a name and click Create.
  4. With the project selected, go to APIs & Services → Library.
  5. Search for Google Calendar API and click Enable.
  6. Go to APIs & Services → Credentials.
  7. Click Create credentials → API key.
  8. Copy the API key.
  9. (Recommended) Restrict the key:
    1. Click the API key you just created.
    2. Under Application restrictions, choose Websites (HTTP referrers).
    3. Add your site’s URL (e.g. https://example.com/*).
    4. Under API restrictions, choose Restrict key.
    5. Select Google Calendar API.
    6. Click Save.
  10. Paste the API key into Pretty Google Calendar’s Google API field in WordPress and save.

Make your Google Calendar public:

  1. In the Google Calendar interface, locate the “My calendars” area on the left.
  2. Hover over the calendar you need and click the downward arrow.
  3. A menu will appear. Click “Share this Calendar”.
  4. Check “Make this calendar public”.
  5. Make sure “Share only my free/busy information” is unchecked.
  6. Click “Save”.

Obtain your Google Calendar’s ID:

  1. In the Google Calendar interface, locate the “My calendars” area on the left.
  2. Hover over the calendar you need and click the downward arrow.
  3. A menu will appear. Click “Calendar settings”.
  4. In the “Integrage Calendar” section of the screen, you will see your “Calendar ID”. It will look something like “abcd1234@group.calendar.google.com” (or your email if it’s your default calendar) this is the value you enter into the shortcode.

Frequently asked questions

What sorcery is this?!

Pretty Google Calendar impliments the excellent Full Calendar for you, and tosses in a little Tippy.js and Popper to make things… well… pop.

Can I use this to manage a calendar?

No. All calendar events are maintaned via Google Calendar, this plugin just displays them in a non-shitty way.

How do I theme the calendar?

Add custom css to your theme to tweak to your desire.

Can this plugin do X,Y or Z?

Probably not. But it maybe could! Pretty Google Calendar is purposefully simple and easy, set up with a few defaults to make things just work. However, there may be a killer feature you want that others are clammering for. Since it is based on Full Calendar, theoretically, anything that is possible there is possible here. Contact me for requests for additional functionality, and let’s see what we can create together!

Changelog

2.2.1

  • Introducing Hydrogen Calendar Embeds! (See https://wordpress.org/plugins/hydrogen-calendar-embeds/)

2.2.0

  • Fixed: Handle spaces in multiple calendar IDs (Fixes #39)
  • Fixed: Free/busy events with undefined titles now display “Busy” (Closes #41)
  • Fixed: fc_args removing views
  • Added: hide_past shortcode argument (Closes #48)
  • Added: close button to tooltip (Closes #59)
  • Added: Better CSS in tooltip (Closes #56)
  • Added: Handle displayEventEnd arg in popup
  • Added: Download .ics button in popup
  • Added: Pupup button styling
  • Added: calendar-specific popup styling classes (closes #46)
  • Added: Custom calendar identifiers via cal_ids shortcode arg

2.1.0

  • Fixed: Better list args parsing (Fixes #57)
  • Fixed: Removed hardcoded timezone argument for correct local time display. Override with fc_args='{"timeZone":"###"}' if needed.
  • Fixed: Admin CSS versioning
  • Fixed: Sanitization of Google API key in admin
  • Improved: id_hash generation
  • Improved: Automatic initial_view resolution when only one view is specified (Fixes #51)

2.0.2

  • Fixed: Security fix (no known exploit)

2.0.1

  • Tested: WordPress 6.9

2.0.0

  • Fixed: XSS vulnerability (required elevate privileges, not likely to be exploited). May break CSS for folks using the id_hash shortcode argument.
  • Tested: WordPress 6.5.2

Full changelog on WordPress.org →

Screenshots

Pretty Google Calendar.
Pretty Google Calendar.
List View.
List View.
Optional Event Popover.
Optional Event Popover.
Settings page. It's that simple.
Settings page. It's that simple.

For developers

Is this your plugin? Show off the numbers.

Add a live badge to your site, docs or GitHub README. It updates on its own — no account needed.

Active installs badge Rating badge Health score badge

Best Pretty Google Calendar alternatives

All calendar plugins →
Alternatives
Rank Plugin Active installs Rating Updated Health
1 The Events Calendar The Events Calendar The Events Calendar: #1 calendar plugin for WordPress. Create/manage events (virtual too!)… by Nexcess 600K+ ★★★★★★★★★★ 4.2 (2.5K) 2 days ago 91
2 Events Manager – Calendar, Bookings, Tickets, Appointments and more! Events Manager Events calendar and booking system: bookings, reservations, appointments, scheduling, event… by Marcus (aka @msykes) 60K+ ★★★★★★★★★★ 4.2 (549) 2 days ago 91
3 Timetable and Event Schedule by MotoPress Timetable and Event Schedule by MotoPress Smart event organizer and time-management tool with a clean minimalist design for featuring… by jetmonsters 30K+ ★★★★★★★★★★ 4.3 (69) 4 weeks ago 85
4 WP Event Manager – Events Calendar, Registrations, Sell Tickets with WooCommerce WP Event Manager Lightweight, scalable and full-featured event listings & management plugin for managing… by WP Event Manager 20K+ ★★★★★★★★★★ 4 (249) 2 months ago 75
5 WP Simple Booking Calendar WP Simple Booking Calendar This booking calendar shows when something is booked or available. Use it to show when your… by Roland Murg 20K+ ★★★★★★★★★★ 4.8 (227) 3 months ago 84
6 The Events Calendar Shortcode & Block The Events Calendar Shortcode & Block Add shortcode, block and Elementor widget functionality to The Events Calendar Plugin, so… by Event Calendar Newsletter 10K+ ★★★★★★★★★★ 4.7 (101) 1 month ago 85
7 Availability Datepicker – Booking Calendar for Contact Form 7 – Input WP Availability Datepicker Availability datepicker & booking calendar for any form. Configure business hours, time… by inputwp 10K+ ★★★★★★★★★★ 4.1 (42) 7 months ago 47
8 ICS Calendar ICS Calendar Add the calendar you already use to any WordPress site! Google Calendar, Microsoft 365… by Room 34 Creative Services, LLC 10K+ ★★★★★★★★★★ 4.9 (72) 5 days ago 89
9 Events Shortcodes For The Events Calendar Events Shortcodes For The Events Calendar Add The Events Calendar shortcode, Gutenberg block, or Events Widget Element (Bricks… by Narinder Singh 10K+ ★★★★★★★★★★ 4.9 (213) 1 week ago 94
10 Easy Appointments Easy Appointments The easiest free WordPress booking plugin. Create beautiful appointment booking forms with… by Easy Appointments 10K+ ★★★★★★★★★★ 4.3 (131) 2 weeks ago 81

FAQ

Pretty Google Calendar: quick answers

Straight answers, pulled from live WordPress.org data.

Live data from WordPress.org · checked Sep 26, 2026

Is Pretty Google Calendar free?

Yes. Pretty Google Calendar is free to download and use from the official WordPress.org plugin directory.

Is Pretty Google Calendar safe to use in 2026?

Pretty Google Calendar works, but test it on a staging site before relying on it in 2026. It runs on 4K+ sites, is rated 4.6/5 and was last updated 9 months ago, and scores 59/100 on our health check.

How many websites use Pretty Google Calendar?

Pretty Google Calendar is active on 4K+ WordPress websites and has been downloaded 70,632 times since it launched in October 2021. It was downloaded 767 times in the last 30 days.

Does Pretty Google Calendar work with WordPress 7.1?

Pretty Google Calendar is officially tested up to WordPress 6.9.9, while the latest release is 7.1.2. It may still work, but try it on a staging site first.

When was Pretty Google Calendar last updated?

The latest version, 2.2.1, was released on January 4, 2026 (9 months ago).

Who makes Pretty Google Calendar?

Pretty Google Calendar is developed and maintained by LBell.

What are the best alternatives to Pretty Google Calendar?

The most popular alternatives to Pretty Google Calendar are The Events Calendar (600K+ installs), Events Manager (60K+ installs) and Timetable and Event Schedul… (30K+ installs).

Powered by PageForge

Want thousands of pages that rank like these? Build them in an afternoon.

This directory runs on the same engine as PageForge. Turn any spreadsheet, CSV or API into thousands of fast, SEO-ready WordPress pages — with schema, internal links and AI-written copy baked in.

  • CSV, Google Sheets & API data sources
  • AI content, schema & internal links per page
  • Works with Elementor, Gutenberg, Yoast & Rank Math
  • Free on WordPress.org — no credit card
Sarah is here to help!
Hi there! 👋 Need help finding what you're looking for?
Sarah
Sarah
Online & Ready to Help
Hi there! 👋 Need help finding what you're looking for?

We'll use this to continue our conversation

Just now ✓ Verified

Join 500+ SEO Pros Scaling Their Strategy

Get exclusive programmatic SEO tactics, AI content workflows, and the latest PageForge updates delivered straight to your inbox. Stay ahead of the algorithm.

We care about your data in our privacy policy.