Book Formatter (Print + eBook) – Short Nonfiction Book (~16,000 words)

Please login or register as jobseeker to apply for this job.

TYPE OF WORK

Gig

WAGE / SALARY

N/A

HOURS PER WEEK

TBD

DATE UPDATED

Jun 14, 2026

JOB OVERVIEW

I am looking for an experienced and detail-oriented book formatter to prepare my nonfiction book for publishing on Amazon KDP.

The manuscript is approximately 24,000 words (100–120 pages when formatted) and has already been professionally edited. I am not looking for editing—only formatting and clean, professional layout.

Project Scope

You will be responsible for:

1. Print Book Formatting (Primary)

Format manuscript for Amazon KDP (6x9 trim size)
Clean, readable, professional layout
Consistent spacing, margins, and typography
Proper chapter formatting and page breaks
Front matter and back matter formatting (title page, copyright, etc.)

2. eBook Formatting

Create a KDP-compatible eBook (EPUB)
Ensure proper flow across devices (Kindle, mobile, tablet)
Active table of contents

Style Direction

Clean, modern, and easy-to-read (not overly decorative)
Professional nonfiction style
Thoughtful spacing for readability
Open to light design touches (simple dividers or accents), but not heavy design

I will provide examples of styles I like.

Deliverables

Print-ready PDF for Amazon KDP
EPUB file for Kindle
Source file (Word, InDesign, or other format you use)

Timeline

Project start: ASAP
Completion: Within 7–10 days

Requirements

Prior experience formatting books for Amazon KDP (print + ebook)
Strong attention to detail
Ability to follow formatting guidelines exactly
Good communication and responsiveness

To Apply
Please include:

Examples of books you have formatted (PDF or screenshots)
What software you use (Word, InDesign, etc.)
Your turnaround time
Your fixed price for this project

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0008
Controller Execution Time ( Jobseekers / Job )  0.0549
Total Execution Time  0.0562
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,497,968 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Book-Formatter-Print-eBook-Short-Nonfiction-Book-16000-words-1632873
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0498 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0003   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1632873
 LIMIT 1 
0.0003   SELECT *
FROM `employers`
WHERE `employer_id` = 800707
 LIMIT 1 
0.0407   SELECT COUNT(DISTINCT t.id) as cnt
FROM 
`t_thread` `t`
INNER JOIN `t_message` `mON `t`.`id` = `m`.`thread_id`
INNER JOIN `t_message_employer` `eON `m`.`id` = `e`.`message_id`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1632873
AND `misc`.`idIS NULL 
0.0005   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-06-22',ej.date_added) duration_daysDATEDIFF('2026-06-22',e.rebill_date) duration_rebillej.*, e.deactivate FROM employers eemployer_jobs ej WHERE e.employer_id ej.employer_id AND
                                   ((
e.user_level >= '500' AND ej.date_added <= e.rebill_date)
                                   OR 
e.employer_id '' OR (ej.date_approved <> '2000-01-01' and DATEDIFF('2026-06-22',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1632873' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1632873 
0.0015   UPDATE employer_jobs SET hit_counts '***Apr-26-2026=261***Apr-27-2026=119***Apr-28-2026=36***Apr-29-2026=20***Apr-30-2026=31***May-01-2026=9***May-02-2026=13***May-03-2026=23***May-04-2026=5***May-05-2026=10***May-06-2026=5***May-07-2026=2***May-08-2026=4***May-09-2026=3***May-10-2026=5***May-11-2026=5***May-12-2026=6***May-13-2026=4***May-14-2026=6***May-15-2026=6***May-16-2026=4***May-17-2026=4***May-18-2026=5***May-19-2026=4***May-20-2026=3***May-21-2026=2***May-22-2026=1***May-23-2026=1***May-25-2026=7***May-26-2026=4***May-27-2026=3***May-28-2026=2***May-29-2026=4***May-30-2026=2***May-31-2026=7***Jun-01-2026=4***Jun-03-2026=5***Jun-04-2026=3***Jun-06-2026=3***Jun-07-2026=1***Jun-09-2026=4***Jun-10-2026=1***Jun-11-2026=1***Jun-12-2026=2***Jun-13-2026=2***Jun-14-2026=175***Jun-15-2026=92***Jun-16-2026=36***Jun-17-2026=24***Jun-18-2026=17***Jun-19-2026=15***Jun-20-2026=8***Jun-22-2026=1' WHERE job_id'1632873'  
0.0006   UPDATE employer_jobs SET monthly_hits '***Apr-2026=467***May-2026=159***Jun-2026=394' WHERE job_id'1632873'  
0.0008   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1632873' AND status LIKE 'sent%' ORDER BY id DESC  
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1632873 
0.0037   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '800707'
AND `date_added` >= '2022-06-08' 
0.0003   select from teasers 
0.0002   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)